YES TRS: a____(__(X,Y),Z) -> a____(mark(X),a____(mark(Y),mark(Z))) a____(X,nil()) -> mark(X) a____(nil(),X) -> mark(X) a__and(tt(),X) -> mark(X) a__isList(V) -> a__isNeList(V) a__isList(nil()) -> tt() a__isList(__(V1,V2)) -> a__and(a__isList(V1),isList(V2)) a__isNeList(V) -> a__isQid(V) a__isNeList(__(V1,V2)) -> a__and(a__isList(V1),isNeList(V2)) a__isNeList(__(V1,V2)) -> a__and(a__isNeList(V1),isList(V2)) a__isNePal(V) -> a__isQid(V) a__isNePal(__(I,__(P,I))) -> a__and(a__isQid(I),isPal(P)) a__isPal(V) -> a__isNePal(V) a__isPal(nil()) -> tt() a__isQid(a()) -> tt() a__isQid(e()) -> tt() a__isQid(i()) -> tt() a__isQid(o()) -> tt() a__isQid(u()) -> tt() mark(__(X1,X2)) -> a____(mark(X1),mark(X2)) mark(and(X1,X2)) -> a__and(mark(X1),X2) mark(isList(X)) -> a__isList(X) mark(isNeList(X)) -> a__isNeList(X) mark(isQid(X)) -> a__isQid(X) mark(isNePal(X)) -> a__isNePal(X) mark(isPal(X)) -> a__isPal(X) mark(nil()) -> nil() mark(tt()) -> tt() mark(a()) -> a() mark(e()) -> e() mark(i()) -> i() mark(o()) -> o() mark(u()) -> u() a____(X1,X2) -> __(X1,X2) a__and(X1,X2) -> and(X1,X2) a__isList(X) -> isList(X) a__isNeList(X) -> isNeList(X) a__isQid(X) -> isQid(X) a__isNePal(X) -> isNePal(X) a__isPal(X) -> isPal(X) linear polynomial interpretations on N: a_____A(x1,x2) = x1 + x2 + 6 a____#_A(x1,x2) = x1 + x2 + 14 ___A(x1,x2) = x1 + x2 + 6 __#_A(x1,x2) = x1 + x2 + 13 mark_A(x1) = x1 mark#_A(x1) = x1 + 9 nil_A = 0 nil#_A = 8 a__and_A(x1,x2) = x1 + x2 + 3 a__and#_A(x1,x2) = x2 + 11 tt_A = 0 tt#_A = 1 a__isList_A(x1) = x1 + 1 a__isList#_A(x1) = 9 a__isNeList_A(x1) = x1 + 1 a__isNeList#_A(x1) = 8 isList_A(x1) = x1 + 1 isList#_A(x1) = 0 a__isQid_A(x1) = x1 + 1 a__isQid#_A(x1) = 2 isNeList_A(x1) = x1 + 1 isNeList#_A(x1) = 7 a__isNePal_A(x1) = x1 + 1 a__isNePal#_A(x1) = x1 + 3 isPal_A(x1) = x1 + 7 isPal#_A(x1) = 14 a__isPal_A(x1) = x1 + 7 a__isPal#_A(x1) = x1 + 15 a_A = 0 a#_A = 2 e_A = 0 e#_A = 2 i_A = 0 i#_A = 0 o_A = 0 o#_A = 0 u_A = 0 u#_A = 2 and_A(x1,x2) = x1 + x2 + 3 and#_A(x1,x2) = x2 + 10 isQid_A(x1) = x1 + 1 isQid#_A(x1) = 0 isNePal_A(x1) = x1 + 1 isNePal#_A(x1) = x1 precedence: __ > a__isList = o = and > mark = a__isNeList > a____ = a__and = isList = isNeList = a = e = i = u = isNePal > a__isNePal > a__isQid > tt = isQid > nil = a__isPal > isPal