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