YES Problem: __(__(X,Y),Z) -> __(X,__(Y,Z)) __(X,nil()) -> X __(nil(),X) -> X and(tt(),X) -> activate(X) isList(V) -> isNeList(activate(V)) isList(n__nil()) -> tt() isList(n____(V1,V2)) -> and(isList(activate(V1)),n__isList(activate(V2))) isNeList(V) -> isQid(activate(V)) isNeList(n____(V1,V2)) -> and(isList(activate(V1)),n__isNeList(activate(V2))) isNeList(n____(V1,V2)) -> and(isNeList(activate(V1)),n__isList(activate(V2))) isNePal(V) -> isQid(activate(V)) isNePal(n____(I,n____(P,I))) -> and(isQid(activate(I)),n__isPal(activate(P))) isPal(V) -> isNePal(activate(V)) isPal(n__nil()) -> tt() isQid(n__a()) -> tt() isQid(n__e()) -> tt() isQid(n__i()) -> tt() isQid(n__o()) -> tt() isQid(n__u()) -> tt() nil() -> n__nil() __(X1,X2) -> n____(X1,X2) isList(X) -> n__isList(X) isNeList(X) -> n__isNeList(X) isPal(X) -> n__isPal(X) a() -> n__a() e() -> n__e() i() -> n__i() o() -> n__o() u() -> n__u() activate(n__nil()) -> nil() activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) activate(n__isList(X)) -> isList(X) activate(n__isNeList(X)) -> isNeList(X) activate(n__isPal(X)) -> isPal(X) activate(n__a()) -> a() activate(n__e()) -> e() activate(n__i()) -> i() activate(n__o()) -> o() activate(n__u()) -> u() activate(X) -> X Proof: DP Processor: DPs: __#(__(X,Y),Z) -> __#(Y,Z) __#(__(X,Y),Z) -> __#(X,__(Y,Z)) and#(tt(),X) -> activate#(X) isList#(V) -> activate#(V) isList#(V) -> isNeList#(activate(V)) isList#(n____(V1,V2)) -> activate#(V2) isList#(n____(V1,V2)) -> activate#(V1) isList#(n____(V1,V2)) -> isList#(activate(V1)) isList#(n____(V1,V2)) -> and#(isList(activate(V1)),n__isList(activate(V2))) isNeList#(V) -> activate#(V) isNeList#(V) -> isQid#(activate(V)) isNeList#(n____(V1,V2)) -> activate#(V2) isNeList#(n____(V1,V2)) -> activate#(V1) isNeList#(n____(V1,V2)) -> isList#(activate(V1)) isNeList#(n____(V1,V2)) -> and#(isList(activate(V1)),n__isNeList(activate(V2))) isNeList#(n____(V1,V2)) -> isNeList#(activate(V1)) isNeList#(n____(V1,V2)) -> and#(isNeList(activate(V1)),n__isList(activate(V2))) isNePal#(V) -> activate#(V) isNePal#(V) -> isQid#(activate(V)) isNePal#(n____(I,n____(P,I))) -> activate#(P) isNePal#(n____(I,n____(P,I))) -> activate#(I) isNePal#(n____(I,n____(P,I))) -> isQid#(activate(I)) isNePal#(n____(I,n____(P,I))) -> and#(isQid(activate(I)),n__isPal(activate(P))) isPal#(V) -> activate#(V) isPal#(V) -> isNePal#(activate(V)) activate#(n__nil()) -> nil#() activate#(n____(X1,X2)) -> activate#(X2) activate#(n____(X1,X2)) -> activate#(X1) activate#(n____(X1,X2)) -> __#(activate(X1),activate(X2)) activate#(n__isList(X)) -> isList#(X) activate#(n__isNeList(X)) -> isNeList#(X) activate#(n__isPal(X)) -> isPal#(X) activate#(n__a()) -> a#() activate#(n__e()) -> e#() activate#(n__i()) -> i#() activate#(n__o()) -> o#() activate#(n__u()) -> u#() TRS: __(__(X,Y),Z) -> __(X,__(Y,Z)) __(X,nil()) -> X __(nil(),X) -> X and(tt(),X) -> activate(X) isList(V) -> isNeList(activate(V)) isList(n__nil()) -> tt() isList(n____(V1,V2)) -> and(isList(activate(V1)),n__isList(activate(V2))) isNeList(V) -> isQid(activate(V)) isNeList(n____(V1,V2)) -> and(isList(activate(V1)),n__isNeList(activate(V2))) isNeList(n____(V1,V2)) -> and(isNeList(activate(V1)),n__isList(activate(V2))) isNePal(V) -> isQid(activate(V)) isNePal(n____(I,n____(P,I))) -> and(isQid(activate(I)),n__isPal(activate(P))) isPal(V) -> isNePal(activate(V)) isPal(n__nil()) -> tt() isQid(n__a()) -> tt() isQid(n__e()) -> tt() isQid(n__i()) -> tt() isQid(n__o()) -> tt() isQid(n__u()) -> tt() nil() -> n__nil() __(X1,X2) -> n____(X1,X2) isList(X) -> n__isList(X) isNeList(X) -> n__isNeList(X) isPal(X) -> n__isPal(X) a() -> n__a() e() -> n__e() i() -> n__i() o() -> n__o() u() -> n__u() activate(n__nil()) -> nil() activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) activate(n__isList(X)) -> isList(X) activate(n__isNeList(X)) -> isNeList(X) activate(n__isPal(X)) -> isPal(X) activate(n__a()) -> a() activate(n__e()) -> e() activate(n__i()) -> i() activate(n__o()) -> o() activate(n__u()) -> u() activate(X) -> X Matrix Interpretation Processor: dim=1 interpretation: [u#] = 0, [o#] = 0, [i#] = 0, [e#] = 0, [a#] = 0, [nil#] = 0, [isPal#](x0) = 2x0 + 5, [isNePal#](x0) = 2x0 + 4, [isQid#](x0) = 1, [isNeList#](x0) = 4x0 + 2, [isList#](x0) = 4x0 + 3, [activate#](x0) = 2x0, [and#](x0, x1) = 2x1 + 4, [__#](x0, x1) = 3x0 + x1 + 5, [u] = 4, [o] = 1, [i] = 2, [e] = 2, [a] = 4, [n__u] = 4, [n__o] = 1, [n__i] = 2, [n__e] = 2, [n__a] = 4, [isPal](x0) = 2x0 + 3, [n__isPal](x0) = 2x0 + 3, [isNePal](x0) = 2x0 + 1, [n__isNeList](x0) = 2x0 + 2, [isQid](x0) = 1, [n__isList](x0) = 2x0 + 4, [n____](x0, x1) = 2x0 + x1 + 5, [n__nil] = 1, [isNeList](x0) = 2x0 + 2, [isList](x0) = 2x0 + 4, [activate](x0) = x0, [and](x0, x1) = 2x0 + x1 + 2, [tt] = 1, [nil] = 1, [__](x0, x1) = 2x0 + x1 + 5 orientation: __#(__(X,Y),Z) = 6X + 3Y + Z + 20 >= 3Y + Z + 5 = __#(Y,Z) __#(__(X,Y),Z) = 6X + 3Y + Z + 20 >= 3X + 2Y + Z + 10 = __#(X,__(Y,Z)) and#(tt(),X) = 2X + 4 >= 2X = activate#(X) isList#(V) = 4V + 3 >= 2V = activate#(V) isList#(V) = 4V + 3 >= 4V + 2 = isNeList#(activate(V)) isList#(n____(V1,V2)) = 8V1 + 4V2 + 23 >= 2V2 = activate#(V2) isList#(n____(V1,V2)) = 8V1 + 4V2 + 23 >= 2V1 = activate#(V1) isList#(n____(V1,V2)) = 8V1 + 4V2 + 23 >= 4V1 + 3 = isList#(activate(V1)) isList#(n____(V1,V2)) = 8V1 + 4V2 + 23 >= 4V2 + 12 = and#(isList(activate(V1)),n__isList(activate(V2))) isNeList#(V) = 4V + 2 >= 2V = activate#(V) isNeList#(V) = 4V + 2 >= 1 = isQid#(activate(V)) isNeList#(n____(V1,V2)) = 8V1 + 4V2 + 22 >= 2V2 = activate#(V2) isNeList#(n____(V1,V2)) = 8V1 + 4V2 + 22 >= 2V1 = activate#(V1) isNeList#(n____(V1,V2)) = 8V1 + 4V2 + 22 >= 4V1 + 3 = isList#(activate(V1)) isNeList#(n____(V1,V2)) = 8V1 + 4V2 + 22 >= 4V2 + 8 = and#(isList(activate(V1)),n__isNeList(activate(V2))) isNeList#(n____(V1,V2)) = 8V1 + 4V2 + 22 >= 4V1 + 2 = isNeList#(activate(V1)) isNeList#(n____(V1,V2)) = 8V1 + 4V2 + 22 >= 4V2 + 12 = and#(isNeList(activate(V1)),n__isList(activate(V2))) isNePal#(V) = 2V + 4 >= 2V = activate#(V) isNePal#(V) = 2V + 4 >= 1 = isQid#(activate(V)) isNePal#(n____(I,n____(P,I))) = 6I + 4P + 24 >= 2P = activate#(P) isNePal#(n____(I,n____(P,I))) = 6I + 4P + 24 >= 2I = activate#(I) isNePal#(n____(I,n____(P,I))) = 6I + 4P + 24 >= 1 = isQid#(activate(I)) isNePal#(n____(I,n____(P,I))) = 6I + 4P + 24 >= 4P + 10 = and#(isQid(activate(I)),n__isPal(activate(P))) isPal#(V) = 2V + 5 >= 2V = activate#(V) isPal#(V) = 2V + 5 >= 2V + 4 = isNePal#(activate(V)) activate#(n__nil()) = 2 >= 0 = nil#() activate#(n____(X1,X2)) = 4X1 + 2X2 + 10 >= 2X2 = activate#(X2) activate#(n____(X1,X2)) = 4X1 + 2X2 + 10 >= 2X1 = activate#(X1) activate#(n____(X1,X2)) = 4X1 + 2X2 + 10 >= 3X1 + X2 + 5 = __#(activate(X1),activate(X2)) activate#(n__isList(X)) = 4X + 8 >= 4X + 3 = isList#(X) activate#(n__isNeList(X)) = 4X + 4 >= 4X + 2 = isNeList#(X) activate#(n__isPal(X)) = 4X + 6 >= 2X + 5 = isPal#(X) activate#(n__a()) = 8 >= 0 = a#() activate#(n__e()) = 4 >= 0 = e#() activate#(n__i()) = 4 >= 0 = i#() activate#(n__o()) = 2 >= 0 = o#() activate#(n__u()) = 8 >= 0 = u#() __(__(X,Y),Z) = 4X + 2Y + Z + 15 >= 2X + 2Y + Z + 10 = __(X,__(Y,Z)) __(X,nil()) = 2X + 6 >= X = X __(nil(),X) = X + 7 >= X = X and(tt(),X) = X + 4 >= X = activate(X) isList(V) = 2V + 4 >= 2V + 2 = isNeList(activate(V)) isList(n__nil()) = 6 >= 1 = tt() isList(n____(V1,V2)) = 4V1 + 2V2 + 14 >= 4V1 + 2V2 + 14 = and(isList(activate(V1)),n__isList(activate(V2))) isNeList(V) = 2V + 2 >= 1 = isQid(activate(V)) isNeList(n____(V1,V2)) = 4V1 + 2V2 + 12 >= 4V1 + 2V2 + 12 = and(isList(activate(V1)),n__isNeList(activate(V2))) isNeList(n____(V1,V2)) = 4V1 + 2V2 + 12 >= 4V1 + 2V2 + 10 = and(isNeList(activate(V1)),n__isList(activate(V2))) isNePal(V) = 2V + 1 >= 1 = isQid(activate(V)) isNePal(n____(I,n____(P,I))) = 6I + 4P + 21 >= 2P + 7 = and(isQid(activate(I)),n__isPal(activate(P))) isPal(V) = 2V + 3 >= 2V + 1 = isNePal(activate(V)) isPal(n__nil()) = 5 >= 1 = tt() isQid(n__a()) = 1 >= 1 = tt() isQid(n__e()) = 1 >= 1 = tt() isQid(n__i()) = 1 >= 1 = tt() isQid(n__o()) = 1 >= 1 = tt() isQid(n__u()) = 1 >= 1 = tt() nil() = 1 >= 1 = n__nil() __(X1,X2) = 2X1 + X2 + 5 >= 2X1 + X2 + 5 = n____(X1,X2) isList(X) = 2X + 4 >= 2X + 4 = n__isList(X) isNeList(X) = 2X + 2 >= 2X + 2 = n__isNeList(X) isPal(X) = 2X + 3 >= 2X + 3 = n__isPal(X) a() = 4 >= 4 = n__a() e() = 2 >= 2 = n__e() i() = 2 >= 2 = n__i() o() = 1 >= 1 = n__o() u() = 4 >= 4 = n__u() activate(n__nil()) = 1 >= 1 = nil() activate(n____(X1,X2)) = 2X1 + X2 + 5 >= 2X1 + X2 + 5 = __(activate(X1),activate(X2)) activate(n__isList(X)) = 2X + 4 >= 2X + 4 = isList(X) activate(n__isNeList(X)) = 2X + 2 >= 2X + 2 = isNeList(X) activate(n__isPal(X)) = 2X + 3 >= 2X + 3 = isPal(X) activate(n__a()) = 4 >= 4 = a() activate(n__e()) = 2 >= 2 = e() activate(n__i()) = 2 >= 2 = i() activate(n__o()) = 1 >= 1 = o() activate(n__u()) = 4 >= 4 = u() activate(X) = X >= X = X problem: DPs: TRS: __(__(X,Y),Z) -> __(X,__(Y,Z)) __(X,nil()) -> X __(nil(),X) -> X and(tt(),X) -> activate(X) isList(V) -> isNeList(activate(V)) isList(n__nil()) -> tt() isList(n____(V1,V2)) -> and(isList(activate(V1)),n__isList(activate(V2))) isNeList(V) -> isQid(activate(V)) isNeList(n____(V1,V2)) -> and(isList(activate(V1)),n__isNeList(activate(V2))) isNeList(n____(V1,V2)) -> and(isNeList(activate(V1)),n__isList(activate(V2))) isNePal(V) -> isQid(activate(V)) isNePal(n____(I,n____(P,I))) -> and(isQid(activate(I)),n__isPal(activate(P))) isPal(V) -> isNePal(activate(V)) isPal(n__nil()) -> tt() isQid(n__a()) -> tt() isQid(n__e()) -> tt() isQid(n__i()) -> tt() isQid(n__o()) -> tt() isQid(n__u()) -> tt() nil() -> n__nil() __(X1,X2) -> n____(X1,X2) isList(X) -> n__isList(X) isNeList(X) -> n__isNeList(X) isPal(X) -> n__isPal(X) a() -> n__a() e() -> n__e() i() -> n__i() o() -> n__o() u() -> n__u() activate(n__nil()) -> nil() activate(n____(X1,X2)) -> __(activate(X1),activate(X2)) activate(n__isList(X)) -> isList(X) activate(n__isNeList(X)) -> isNeList(X) activate(n__isPal(X)) -> isPal(X) activate(n__a()) -> a() activate(n__e()) -> e() activate(n__i()) -> i() activate(n__o()) -> o() activate(n__u()) -> u() activate(X) -> X Qed