YES Problem: __(__(X,Y),Z) -> __(X,__(Y,Z)) __(X,nil()) -> X __(nil(),X) -> X U11(tt(),V) -> U12(isNeList(activate(V))) U12(tt()) -> tt() U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) U22(tt(),V2) -> U23(isList(activate(V2))) U23(tt()) -> tt() U31(tt(),V) -> U32(isQid(activate(V))) U32(tt()) -> tt() U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) U42(tt(),V2) -> U43(isNeList(activate(V2))) U43(tt()) -> tt() U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) U52(tt(),V2) -> U53(isList(activate(V2))) U53(tt()) -> tt() U61(tt(),V) -> U62(isQid(activate(V))) U62(tt()) -> tt() U71(tt(),V) -> U72(isNePal(activate(V))) U72(tt()) -> tt() and(tt(),X) -> activate(X) isList(V) -> U11(isPalListKind(activate(V)),activate(V)) isList(n__nil()) -> tt() isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)), n__isPalListKind (activate(P)))) isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) isPal(n__nil()) -> tt() isPalListKind(n__a()) -> tt() isPalListKind(n__e()) -> tt() isPalListKind(n__i()) -> tt() isPalListKind(n__nil()) -> tt() isPalListKind(n__o()) -> tt() isPalListKind(n__u()) -> tt() isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) 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) isPalListKind(X) -> n__isPalListKind(X) and(X1,X2) -> n__and(X1,X2) 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__isPalListKind(X)) -> isPalListKind(X) activate(n__and(X1,X2)) -> and(activate(X1),X2) 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)) U11#(tt(),V) -> activate#(V) U11#(tt(),V) -> isNeList#(activate(V)) U11#(tt(),V) -> U12#(isNeList(activate(V))) U21#(tt(),V1,V2) -> activate#(V2) U21#(tt(),V1,V2) -> activate#(V1) U21#(tt(),V1,V2) -> isList#(activate(V1)) U21#(tt(),V1,V2) -> U22#(isList(activate(V1)),activate(V2)) U22#(tt(),V2) -> activate#(V2) U22#(tt(),V2) -> isList#(activate(V2)) U22#(tt(),V2) -> U23#(isList(activate(V2))) U31#(tt(),V) -> activate#(V) U31#(tt(),V) -> isQid#(activate(V)) U31#(tt(),V) -> U32#(isQid(activate(V))) U41#(tt(),V1,V2) -> activate#(V2) U41#(tt(),V1,V2) -> activate#(V1) U41#(tt(),V1,V2) -> isList#(activate(V1)) U41#(tt(),V1,V2) -> U42#(isList(activate(V1)),activate(V2)) U42#(tt(),V2) -> activate#(V2) U42#(tt(),V2) -> isNeList#(activate(V2)) U42#(tt(),V2) -> U43#(isNeList(activate(V2))) U51#(tt(),V1,V2) -> activate#(V2) U51#(tt(),V1,V2) -> activate#(V1) U51#(tt(),V1,V2) -> isNeList#(activate(V1)) U51#(tt(),V1,V2) -> U52#(isNeList(activate(V1)),activate(V2)) U52#(tt(),V2) -> activate#(V2) U52#(tt(),V2) -> isList#(activate(V2)) U52#(tt(),V2) -> U53#(isList(activate(V2))) U61#(tt(),V) -> activate#(V) U61#(tt(),V) -> isQid#(activate(V)) U61#(tt(),V) -> U62#(isQid(activate(V))) U71#(tt(),V) -> activate#(V) U71#(tt(),V) -> isNePal#(activate(V)) U71#(tt(),V) -> U72#(isNePal(activate(V))) and#(tt(),X) -> activate#(X) isList#(V) -> activate#(V) isList#(V) -> isPalListKind#(activate(V)) isList#(V) -> U11#(isPalListKind(activate(V)),activate(V)) isList#(n____(V1,V2)) -> activate#(V2) isList#(n____(V1,V2)) -> activate#(V1) isList#(n____(V1,V2)) -> isPalListKind#(activate(V1)) isList#(n____(V1,V2)) -> and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) isList#(n____(V1,V2)) -> U21#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) isNeList#(V) -> activate#(V) isNeList#(V) -> isPalListKind#(activate(V)) isNeList#(V) -> U31#(isPalListKind(activate(V)),activate(V)) isNeList#(n____(V1,V2)) -> activate#(V2) isNeList#(n____(V1,V2)) -> activate#(V1) isNeList#(n____(V1,V2)) -> isPalListKind#(activate(V1)) isNeList#(n____(V1,V2)) -> and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) isNeList#(n____(V1,V2)) -> U41#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) isNeList#(n____(V1,V2)) -> U51#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) isNePal#(V) -> activate#(V) isNePal#(V) -> isPalListKind#(activate(V)) isNePal#(V) -> U61#(isPalListKind(activate(V)),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__isPalListKind(activate(I))) isNePal#(n____(I,n____(P,I))) -> and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and( n__isPal(activate(P)), n__isPalListKind (activate(P)))) isPal#(V) -> activate#(V) isPal#(V) -> isPalListKind#(activate(V)) isPal#(V) -> U71#(isPalListKind(activate(V)),activate(V)) isPalListKind#(n____(V1,V2)) -> activate#(V2) isPalListKind#(n____(V1,V2)) -> activate#(V1) isPalListKind#(n____(V1,V2)) -> isPalListKind#(activate(V1)) isPalListKind#(n____(V1,V2)) -> and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) 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__isPalListKind(X)) -> isPalListKind#(X) activate#(n__and(X1,X2)) -> activate#(X1) activate#(n__and(X1,X2)) -> and#(activate(X1),X2) 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 U11(tt(),V) -> U12(isNeList(activate(V))) U12(tt()) -> tt() U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) U22(tt(),V2) -> U23(isList(activate(V2))) U23(tt()) -> tt() U31(tt(),V) -> U32(isQid(activate(V))) U32(tt()) -> tt() U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) U42(tt(),V2) -> U43(isNeList(activate(V2))) U43(tt()) -> tt() U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) U52(tt(),V2) -> U53(isList(activate(V2))) U53(tt()) -> tt() U61(tt(),V) -> U62(isQid(activate(V))) U62(tt()) -> tt() U71(tt(),V) -> U72(isNePal(activate(V))) U72(tt()) -> tt() and(tt(),X) -> activate(X) isList(V) -> U11(isPalListKind(activate(V)),activate(V)) isList(n__nil()) -> tt() isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal(activate(P)), n__isPalListKind (activate(P)))) isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) isPal(n__nil()) -> tt() isPalListKind(n__a()) -> tt() isPalListKind(n__e()) -> tt() isPalListKind(n__i()) -> tt() isPalListKind(n__nil()) -> tt() isPalListKind(n__o()) -> tt() isPalListKind(n__u()) -> tt() isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) 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) isPalListKind(X) -> n__isPalListKind(X) and(X1,X2) -> n__and(X1,X2) 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__isPalListKind(X)) -> isPalListKind(X) activate(n__and(X1,X2)) -> and(activate(X1),X2) 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 usable rules: __(__(X,Y),Z) -> __(X,__(Y,Z)) __(X,nil()) -> X __(nil(),X) -> X U11(tt(),V) -> U12(isNeList(activate(V))) U12(tt()) -> tt() U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) U22(tt(),V2) -> U23(isList(activate(V2))) U23(tt()) -> tt() U71(tt(),V) -> U72(isNePal(activate(V))) U72(tt()) -> tt() and(tt(),X) -> activate(X) isList(V) -> U11(isPalListKind(activate(V)),activate(V)) isList(n__nil()) -> tt() isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) isPal(n__nil()) -> tt() isPalListKind(n__a()) -> tt() isPalListKind(n__e()) -> tt() isPalListKind(n__i()) -> tt() isPalListKind(n__nil()) -> tt() isPalListKind(n__o()) -> tt() isPalListKind(n__u()) -> tt() isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) nil() -> n__nil() __(X1,X2) -> n____(X1,X2) isPalListKind(X) -> n__isPalListKind(X) and(X1,X2) -> n__and(X1,X2) 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__isPalListKind(X)) -> isPalListKind(X) activate(n__and(X1,X2)) -> and(activate(X1),X2) 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 interpretation: [u#] = 0, [o#] = 0, [i#] = 0, [e#] = 0, [a#] = 0, [nil#] = 0, [isPal#](x0) = 6x0 + 5, [isPalListKind#](x0) = 4x0, [and#](x0, x1) = 4x1 + 2, [U72#](x0) = 1, [isNePal#](x0) = 6x0 + 3, [U71#](x0, x1) = 6x1 + 4, [U62#](x0) = 0, [U61#](x0, x1) = 6x1 + 2, [U53#](x0) = 1, [U52#](x0, x1) = 4x1 + 6, [U51#](x0, x1, x2) = 4x1 + 4x2 + 7, [U43#](x0) = 2, [U42#](x0, x1) = 4x1 + 4, [U41#](x0, x1, x2) = 6x1 + 4x2 + 7, [U32#](x0) = 0, [isQid#](x0) = 0, [U31#](x0, x1) = 4x1 + 2, [U23#](x0) = 4x0 + 1, [U22#](x0, x1) = 4x0 + 4x1 + 6, [isList#](x0) = 4x0 + 5, [U21#](x0, x1, x2) = 4x1 + 4x2 + 7, [U12#](x0) = 1, [isNeList#](x0) = 4x0 + 3, [activate#](x0) = 4x0 + 1, [U11#](x0, x1) = 4x1 + 4, [__#](x0, x1) = x0 + 4, [u] = 4, [o] = 6, [i] = 4, [e] = 0, [a] = 0, [n__u] = 4, [n__o] = 6, [n__i] = 4, [n__e] = 0, [n__a] = 0, [isPal](x0) = 5x0 + 5, [n__and](x0, x1) = x0 + x1 + 1, [n__isPal](x0) = 5x0 + 5, [n__isPalListKind](x0) = x0, [n____](x0, x1) = 4x0 + x1 + 2, [n__nil] = 0, [isPalListKind](x0) = x0, [and](x0, x1) = x0 + x1 + 1, [U72](x0) = 3, [isNePal](x0) = 0, [U71](x0, x1) = 2x0 + 3, [U62](x0) = 5x0, [U61](x0, x1) = 2x0 + 2x1 + 4, [U53](x0) = 2x0 + 4, [U52](x0, x1) = 4x1, [U51](x0, x1, x2) = x0 + 4x2, [U43](x0) = 1, [U42](x0, x1) = 4x1 + 6, [U41](x0, x1, x2) = 5x0 + 3x1 + 3x2 + 3, [U32](x0) = 0, [isQid](x0) = 2, [U31](x0, x1) = 2x1 + 4, [U23](x0) = 0, [U22](x0, x1) = 0, [isList](x0) = x0, [U21](x0, x1, x2) = 4x1, [U12](x0) = 0, [isNeList](x0) = 0, [activate](x0) = x0, [U11](x0, x1) = x0, [tt] = 0, [nil] = 0, [__](x0, x1) = 4x0 + x1 + 2 orientation: __#(__(X,Y),Z) = 4X + Y + 6 >= Y + 4 = __#(Y,Z) __#(__(X,Y),Z) = 4X + Y + 6 >= X + 4 = __#(X,__(Y,Z)) U11#(tt(),V) = 4V + 4 >= 4V + 1 = activate#(V) U11#(tt(),V) = 4V + 4 >= 4V + 3 = isNeList#(activate(V)) U11#(tt(),V) = 4V + 4 >= 1 = U12#(isNeList(activate(V))) U21#(tt(),V1,V2) = 4V1 + 4V2 + 7 >= 4V2 + 1 = activate#(V2) U21#(tt(),V1,V2) = 4V1 + 4V2 + 7 >= 4V1 + 1 = activate#(V1) U21#(tt(),V1,V2) = 4V1 + 4V2 + 7 >= 4V1 + 5 = isList#(activate(V1)) U21#(tt(),V1,V2) = 4V1 + 4V2 + 7 >= 4V1 + 4V2 + 6 = U22#(isList(activate(V1)),activate(V2)) U22#(tt(),V2) = 4V2 + 6 >= 4V2 + 1 = activate#(V2) U22#(tt(),V2) = 4V2 + 6 >= 4V2 + 5 = isList#(activate(V2)) U22#(tt(),V2) = 4V2 + 6 >= 4V2 + 1 = U23#(isList(activate(V2))) U31#(tt(),V) = 4V + 2 >= 4V + 1 = activate#(V) U31#(tt(),V) = 4V + 2 >= 0 = isQid#(activate(V)) U31#(tt(),V) = 4V + 2 >= 0 = U32#(isQid(activate(V))) U41#(tt(),V1,V2) = 6V1 + 4V2 + 7 >= 4V2 + 1 = activate#(V2) U41#(tt(),V1,V2) = 6V1 + 4V2 + 7 >= 4V1 + 1 = activate#(V1) U41#(tt(),V1,V2) = 6V1 + 4V2 + 7 >= 4V1 + 5 = isList#(activate(V1)) U41#(tt(),V1,V2) = 6V1 + 4V2 + 7 >= 4V2 + 4 = U42#(isList(activate(V1)),activate(V2)) U42#(tt(),V2) = 4V2 + 4 >= 4V2 + 1 = activate#(V2) U42#(tt(),V2) = 4V2 + 4 >= 4V2 + 3 = isNeList#(activate(V2)) U42#(tt(),V2) = 4V2 + 4 >= 2 = U43#(isNeList(activate(V2))) U51#(tt(),V1,V2) = 4V1 + 4V2 + 7 >= 4V2 + 1 = activate#(V2) U51#(tt(),V1,V2) = 4V1 + 4V2 + 7 >= 4V1 + 1 = activate#(V1) U51#(tt(),V1,V2) = 4V1 + 4V2 + 7 >= 4V1 + 3 = isNeList#(activate(V1)) U51#(tt(),V1,V2) = 4V1 + 4V2 + 7 >= 4V2 + 6 = U52#(isNeList(activate(V1)),activate(V2)) U52#(tt(),V2) = 4V2 + 6 >= 4V2 + 1 = activate#(V2) U52#(tt(),V2) = 4V2 + 6 >= 4V2 + 5 = isList#(activate(V2)) U52#(tt(),V2) = 4V2 + 6 >= 1 = U53#(isList(activate(V2))) U61#(tt(),V) = 6V + 2 >= 4V + 1 = activate#(V) U61#(tt(),V) = 6V + 2 >= 0 = isQid#(activate(V)) U61#(tt(),V) = 6V + 2 >= 0 = U62#(isQid(activate(V))) U71#(tt(),V) = 6V + 4 >= 4V + 1 = activate#(V) U71#(tt(),V) = 6V + 4 >= 6V + 3 = isNePal#(activate(V)) U71#(tt(),V) = 6V + 4 >= 1 = U72#(isNePal(activate(V))) and#(tt(),X) = 4X + 2 >= 4X + 1 = activate#(X) isList#(V) = 4V + 5 >= 4V + 1 = activate#(V) isList#(V) = 4V + 5 >= 4V = isPalListKind#(activate(V)) isList#(V) = 4V + 5 >= 4V + 4 = U11#(isPalListKind(activate(V)),activate(V)) isList#(n____(V1,V2)) = 16V1 + 4V2 + 13 >= 4V2 + 1 = activate#(V2) isList#(n____(V1,V2)) = 16V1 + 4V2 + 13 >= 4V1 + 1 = activate#(V1) isList#(n____(V1,V2)) = 16V1 + 4V2 + 13 >= 4V1 = isPalListKind#(activate(V1)) isList#(n____(V1,V2)) = 16V1 + 4V2 + 13 >= 4V2 + 2 = and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) isList#(n____(V1,V2)) = 16V1 + 4V2 + 13 >= 4V1 + 4V2 + 7 = U21#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))), activate(V1),activate(V2)) isNeList#(V) = 4V + 3 >= 4V + 1 = activate#(V) isNeList#(V) = 4V + 3 >= 4V = isPalListKind#(activate(V)) isNeList#(V) = 4V + 3 >= 4V + 2 = U31#(isPalListKind(activate(V)),activate(V)) isNeList#(n____(V1,V2)) = 16V1 + 4V2 + 11 >= 4V2 + 1 = activate#(V2) isNeList#(n____(V1,V2)) = 16V1 + 4V2 + 11 >= 4V1 + 1 = activate#(V1) isNeList#(n____(V1,V2)) = 16V1 + 4V2 + 11 >= 4V1 = isPalListKind#(activate(V1)) isNeList#(n____(V1,V2)) = 16V1 + 4V2 + 11 >= 4V2 + 2 = and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) isNeList#(n____(V1,V2)) = 16V1 + 4V2 + 11 >= 6V1 + 4V2 + 7 = U41#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))), activate(V1),activate(V2)) isNeList#(n____(V1,V2)) = 16V1 + 4V2 + 11 >= 4V1 + 4V2 + 7 = U51#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))), activate(V1),activate(V2)) isNePal#(V) = 6V + 3 >= 4V + 1 = activate#(V) isNePal#(V) = 6V + 3 >= 4V = isPalListKind#(activate(V)) isNePal#(V) = 6V + 3 >= 6V + 2 = U61#(isPalListKind(activate(V)),activate(V)) isNePal#(n____(I,n____(P,I))) = 30I + 24P + 27 >= 4P + 1 = activate#(P) isNePal#(n____(I,n____(P,I))) = 30I + 24P + 27 >= 4I + 1 = activate#(I) isNePal#(n____(I,n____(P,I))) = 30I + 24P + 27 >= 0 = isQid#(activate(I)) isNePal#(n____(I,n____(P,I))) = 30I + 24P + 27 >= 4I + 2 = and#(isQid(activate(I)),n__isPalListKind(activate(I))) isNePal#(n____(I,n____(P,I))) = 30I + 24P + 27 >= 24P + 26 = and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal (activate (P)), n__isPalListKind (activate (P)))) isPal#(V) = 6V + 5 >= 4V + 1 = activate#(V) isPal#(V) = 6V + 5 >= 4V = isPalListKind#(activate(V)) isPal#(V) = 6V + 5 >= 6V + 4 = U71#(isPalListKind(activate(V)),activate(V)) isPalListKind#(n____(V1,V2)) = 16V1 + 4V2 + 8 >= 4V2 + 1 = activate#(V2) isPalListKind#(n____(V1,V2)) = 16V1 + 4V2 + 8 >= 4V1 + 1 = activate#(V1) isPalListKind#(n____(V1,V2)) = 16V1 + 4V2 + 8 >= 4V1 = isPalListKind#(activate(V1)) isPalListKind#(n____(V1,V2)) = 16V1 + 4V2 + 8 >= 4V2 + 2 = and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) activate#(n__nil()) = 1 >= 0 = nil#() activate#(n____(X1,X2)) = 16X1 + 4X2 + 9 >= 4X2 + 1 = activate#(X2) activate#(n____(X1,X2)) = 16X1 + 4X2 + 9 >= 4X1 + 1 = activate#(X1) activate#(n____(X1,X2)) = 16X1 + 4X2 + 9 >= X1 + 4 = __#(activate(X1),activate(X2)) activate#(n__isPalListKind(X)) = 4X + 1 >= 4X = isPalListKind#(X) activate#(n__and(X1,X2)) = 4X1 + 4X2 + 5 >= 4X1 + 1 = activate#(X1) activate#(n__and(X1,X2)) = 4X1 + 4X2 + 5 >= 4X2 + 2 = and#(activate(X1),X2) activate#(n__isPal(X)) = 20X + 21 >= 6X + 5 = isPal#(X) activate#(n__a()) = 1 >= 0 = a#() activate#(n__e()) = 1 >= 0 = e#() activate#(n__i()) = 17 >= 0 = i#() activate#(n__o()) = 25 >= 0 = o#() activate#(n__u()) = 17 >= 0 = u#() __(__(X,Y),Z) = 16X + 4Y + Z + 10 >= 4X + 4Y + Z + 4 = __(X,__(Y,Z)) __(X,nil()) = 4X + 2 >= X = X __(nil(),X) = X + 2 >= X = X U11(tt(),V) = 0 >= 0 = U12(isNeList(activate(V))) U12(tt()) = 0 >= 0 = tt() U21(tt(),V1,V2) = 4V1 >= 0 = U22(isList(activate(V1)),activate(V2)) U22(tt(),V2) = 0 >= 0 = U23(isList(activate(V2))) U23(tt()) = 0 >= 0 = tt() U31(tt(),V) = 2V + 4 >= 0 = U32(isQid(activate(V))) U32(tt()) = 0 >= 0 = tt() U41(tt(),V1,V2) = 3V1 + 3V2 + 3 >= 4V2 + 6 = U42(isList(activate(V1)),activate(V2)) U42(tt(),V2) = 4V2 + 6 >= 1 = U43(isNeList(activate(V2))) U43(tt()) = 1 >= 0 = tt() U51(tt(),V1,V2) = 4V2 >= 4V2 = U52(isNeList(activate(V1)),activate(V2)) U52(tt(),V2) = 4V2 >= 2V2 + 4 = U53(isList(activate(V2))) U53(tt()) = 4 >= 0 = tt() U61(tt(),V) = 2V + 4 >= 10 = U62(isQid(activate(V))) U62(tt()) = 0 >= 0 = tt() U71(tt(),V) = 3 >= 3 = U72(isNePal(activate(V))) U72(tt()) = 3 >= 0 = tt() and(tt(),X) = X + 1 >= X = activate(X) isList(V) = V >= V = U11(isPalListKind(activate(V)),activate(V)) isList(n__nil()) = 0 >= 0 = tt() isList(n____(V1,V2)) = 4V1 + V2 + 2 >= 4V1 = U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate ( V1), activate(V2)) isNeList(V) = 0 >= 2V + 4 = U31(isPalListKind(activate(V)),activate(V)) isNeList(n____(V1,V2)) = 0 >= 8V1 + 8V2 + 8 = U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate ( V1), activate(V2)) isNeList(n____(V1,V2)) = 0 >= V1 + 5V2 + 1 = U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate ( V1), activate(V2)) isNePal(V) = 0 >= 4V + 4 = U61(isPalListKind(activate(V)),activate(V)) isNePal(n____(I,n____(P,I))) = 0 >= I + 6P + 10 = and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(n__isPal (activate(P)), n__isPalListKind (activate(P)))) isPal(V) = 5V + 5 >= 2V + 3 = U71(isPalListKind(activate(V)),activate(V)) isPal(n__nil()) = 5 >= 0 = tt() isPalListKind(n__a()) = 0 >= 0 = tt() isPalListKind(n__e()) = 0 >= 0 = tt() isPalListKind(n__i()) = 4 >= 0 = tt() isPalListKind(n__nil()) = 0 >= 0 = tt() isPalListKind(n__o()) = 6 >= 0 = tt() isPalListKind(n__u()) = 4 >= 0 = tt() isPalListKind(n____(V1,V2)) = 4V1 + V2 + 2 >= V1 + V2 + 1 = and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) isQid(n__a()) = 2 >= 0 = tt() isQid(n__e()) = 2 >= 0 = tt() isQid(n__i()) = 2 >= 0 = tt() isQid(n__o()) = 2 >= 0 = tt() isQid(n__u()) = 2 >= 0 = tt() nil() = 0 >= 0 = n__nil() __(X1,X2) = 4X1 + X2 + 2 >= 4X1 + X2 + 2 = n____(X1,X2) isPalListKind(X) = X >= X = n__isPalListKind(X) and(X1,X2) = X1 + X2 + 1 >= X1 + X2 + 1 = n__and(X1,X2) isPal(X) = 5X + 5 >= 5X + 5 = n__isPal(X) a() = 0 >= 0 = n__a() e() = 0 >= 0 = n__e() i() = 4 >= 4 = n__i() o() = 6 >= 6 = n__o() u() = 4 >= 4 = n__u() activate(n__nil()) = 0 >= 0 = nil() activate(n____(X1,X2)) = 4X1 + X2 + 2 >= 4X1 + X2 + 2 = __(activate(X1),activate(X2)) activate(n__isPalListKind(X)) = X >= X = isPalListKind(X) activate(n__and(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = and(activate(X1),X2) activate(n__isPal(X)) = 5X + 5 >= 5X + 5 = isPal(X) activate(n__a()) = 0 >= 0 = a() activate(n__e()) = 0 >= 0 = e() activate(n__i()) = 4 >= 4 = i() activate(n__o()) = 6 >= 6 = 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 U11(tt(),V) -> U12(isNeList(activate(V))) U12(tt()) -> tt() U21(tt(),V1,V2) -> U22(isList(activate(V1)),activate(V2)) U22(tt(),V2) -> U23(isList(activate(V2))) U23(tt()) -> tt() U31(tt(),V) -> U32(isQid(activate(V))) U32(tt()) -> tt() U41(tt(),V1,V2) -> U42(isList(activate(V1)),activate(V2)) U42(tt(),V2) -> U43(isNeList(activate(V2))) U43(tt()) -> tt() U51(tt(),V1,V2) -> U52(isNeList(activate(V1)),activate(V2)) U52(tt(),V2) -> U53(isList(activate(V2))) U53(tt()) -> tt() U61(tt(),V) -> U62(isQid(activate(V))) U62(tt()) -> tt() U71(tt(),V) -> U72(isNePal(activate(V))) U72(tt()) -> tt() and(tt(),X) -> activate(X) isList(V) -> U11(isPalListKind(activate(V)),activate(V)) isList(n__nil()) -> tt() isList(n____(V1,V2)) -> U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) isNeList(V) -> U31(isPalListKind(activate(V)),activate(V)) isNeList(n____(V1,V2)) -> U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) isNeList(n____(V1,V2)) -> U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) isNePal(V) -> U61(isPalListKind(activate(V)),activate(V)) isNePal(n____(I,n____(P,I))) -> and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and (n__isPal(activate(P)), n__isPalListKind (activate(P)))) isPal(V) -> U71(isPalListKind(activate(V)),activate(V)) isPal(n__nil()) -> tt() isPalListKind(n__a()) -> tt() isPalListKind(n__e()) -> tt() isPalListKind(n__i()) -> tt() isPalListKind(n__nil()) -> tt() isPalListKind(n__o()) -> tt() isPalListKind(n__u()) -> tt() isPalListKind(n____(V1,V2)) -> and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) 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) isPalListKind(X) -> n__isPalListKind(X) and(X1,X2) -> n__and(X1,X2) 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__isPalListKind(X)) -> isPalListKind(X) activate(n__and(X1,X2)) -> and(activate(X1),X2) 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