YES(O(1),O(n^2)) 596.95/151.02 YES(O(1),O(n^2)) 596.95/151.02 596.95/151.02 We are left with following problem, upon which TcT provides the 596.95/151.02 certificate YES(O(1),O(n^2)). 596.95/151.02 596.95/151.02 Strict Trs: 596.95/151.02 { __(X1, X2) -> n____(X1, X2) 596.95/151.02 , __(X, nil()) -> X 596.95/151.02 , __(__(X, Y), Z) -> __(X, __(Y, Z)) 596.95/151.02 , __(nil(), X) -> X 596.95/151.02 , nil() -> n__nil() 596.95/151.02 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 596.95/151.02 , U12(tt(), V) -> U13(isNeList(activate(V))) 596.95/151.02 , isPalListKind(n__nil()) -> tt() 596.95/151.02 , isPalListKind(n____(V1, V2)) -> 596.95/151.02 U91(isPalListKind(activate(V1)), activate(V2)) 596.95/151.02 , isPalListKind(n__a()) -> tt() 596.95/151.02 , isPalListKind(n__e()) -> tt() 596.95/151.02 , isPalListKind(n__i()) -> tt() 596.95/151.02 , isPalListKind(n__o()) -> tt() 596.95/151.02 , isPalListKind(n__u()) -> tt() 596.95/151.02 , activate(X) -> X 596.95/151.02 , activate(n__nil()) -> nil() 596.95/151.02 , activate(n____(X1, X2)) -> __(X1, X2) 596.95/151.02 , activate(n__a()) -> a() 596.95/151.02 , activate(n__e()) -> e() 596.95/151.02 , activate(n__i()) -> i() 596.95/151.02 , activate(n__o()) -> o() 596.95/151.02 , activate(n__u()) -> u() 596.95/151.02 , U13(tt()) -> tt() 596.95/151.02 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 596.95/151.02 , isNeList(n____(V1, V2)) -> 596.95/151.02 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.02 , isNeList(n____(V1, V2)) -> 596.95/151.02 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.02 , U21(tt(), V1, V2) -> 596.95/151.02 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.02 , U22(tt(), V1, V2) -> 596.95/151.02 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.02 , U23(tt(), V1, V2) -> 596.95/151.02 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.02 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 596.95/151.02 , U25(tt(), V2) -> U26(isList(activate(V2))) 596.95/151.02 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 596.95/151.02 , isList(n__nil()) -> tt() 596.95/151.02 , isList(n____(V1, V2)) -> 596.95/151.02 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.02 , U26(tt()) -> tt() 596.95/151.02 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 596.95/151.02 , U32(tt(), V) -> U33(isQid(activate(V))) 596.95/151.02 , U33(tt()) -> tt() 596.95/151.02 , isQid(n__a()) -> tt() 596.95/151.02 , isQid(n__e()) -> tt() 596.95/151.02 , isQid(n__i()) -> tt() 596.95/151.02 , isQid(n__o()) -> tt() 596.95/151.02 , isQid(n__u()) -> tt() 596.95/151.02 , U41(tt(), V1, V2) -> 596.95/151.02 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.02 , U42(tt(), V1, V2) -> 596.95/151.02 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.02 , U43(tt(), V1, V2) -> 596.95/151.02 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.02 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 596.95/151.02 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 596.95/151.02 , U46(tt()) -> tt() 596.95/151.02 , U51(tt(), V1, V2) -> 596.95/151.02 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.02 , U52(tt(), V1, V2) -> 596.95/151.02 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.02 , U53(tt(), V1, V2) -> 596.95/151.02 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.02 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 596.95/151.02 , U55(tt(), V2) -> U56(isList(activate(V2))) 596.95/151.02 , U56(tt()) -> tt() 596.95/151.02 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 596.95/151.02 , U62(tt(), V) -> U63(isQid(activate(V))) 596.95/151.02 , U63(tt()) -> tt() 596.95/151.02 , U71(tt(), I, P) -> U72(isPalListKind(activate(I)), activate(P)) 596.95/151.02 , U72(tt(), P) -> U73(isPal(activate(P)), activate(P)) 596.95/151.02 , U73(tt(), P) -> U74(isPalListKind(activate(P))) 596.95/151.02 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 596.95/151.02 , isPal(n__nil()) -> tt() 596.95/151.02 , U74(tt()) -> tt() 596.95/151.02 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 596.95/151.02 , U82(tt(), V) -> U83(isNePal(activate(V))) 596.95/151.02 , U83(tt()) -> tt() 596.95/151.02 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 596.95/151.02 , isNePal(n____(I, __(P, I))) -> 596.95/151.02 U71(isQid(activate(I)), activate(I), activate(P)) 596.95/151.02 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 596.95/151.02 , U92(tt()) -> tt() 596.95/151.02 , a() -> n__a() 596.95/151.02 , e() -> n__e() 596.95/151.02 , i() -> n__i() 596.95/151.02 , o() -> n__o() 596.95/151.02 , u() -> n__u() } 596.95/151.02 Obligation: 596.95/151.02 innermost runtime complexity 596.95/151.02 Answer: 596.95/151.02 YES(O(1),O(n^2)) 596.95/151.02 596.95/151.02 Arguments of following rules are not normal-forms: 596.95/151.02 596.95/151.02 { __(X, nil()) -> X 596.95/151.02 , __(__(X, Y), Z) -> __(X, __(Y, Z)) 596.95/151.02 , __(nil(), X) -> X 596.95/151.02 , isNePal(n____(I, __(P, I))) -> 596.95/151.02 U71(isQid(activate(I)), activate(I), activate(P)) } 596.95/151.02 596.95/151.02 All above mentioned rules can be savely removed. 596.95/151.02 596.95/151.02 We are left with following problem, upon which TcT provides the 596.95/151.02 certificate YES(O(1),O(n^2)). 596.95/151.02 596.95/151.02 Strict Trs: 596.95/151.02 { __(X1, X2) -> n____(X1, X2) 596.95/151.02 , nil() -> n__nil() 596.95/151.02 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 596.95/151.02 , U12(tt(), V) -> U13(isNeList(activate(V))) 596.95/151.02 , isPalListKind(n__nil()) -> tt() 596.95/151.02 , isPalListKind(n____(V1, V2)) -> 596.95/151.02 U91(isPalListKind(activate(V1)), activate(V2)) 596.95/151.02 , isPalListKind(n__a()) -> tt() 596.95/151.02 , isPalListKind(n__e()) -> tt() 596.95/151.02 , isPalListKind(n__i()) -> tt() 596.95/151.02 , isPalListKind(n__o()) -> tt() 596.95/151.02 , isPalListKind(n__u()) -> tt() 596.95/151.02 , activate(X) -> X 596.95/151.02 , activate(n__nil()) -> nil() 596.95/151.02 , activate(n____(X1, X2)) -> __(X1, X2) 596.95/151.02 , activate(n__a()) -> a() 596.95/151.02 , activate(n__e()) -> e() 596.95/151.02 , activate(n__i()) -> i() 596.95/151.02 , activate(n__o()) -> o() 596.95/151.02 , activate(n__u()) -> u() 596.95/151.02 , U13(tt()) -> tt() 596.95/151.02 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 596.95/151.02 , isNeList(n____(V1, V2)) -> 596.95/151.02 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.02 , isNeList(n____(V1, V2)) -> 596.95/151.02 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.02 , U21(tt(), V1, V2) -> 596.95/151.02 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.02 , U22(tt(), V1, V2) -> 596.95/151.02 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.02 , U23(tt(), V1, V2) -> 596.95/151.02 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.02 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 596.95/151.02 , U25(tt(), V2) -> U26(isList(activate(V2))) 596.95/151.02 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 596.95/151.02 , isList(n__nil()) -> tt() 596.95/151.02 , isList(n____(V1, V2)) -> 596.95/151.02 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.02 , U26(tt()) -> tt() 596.95/151.02 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 596.95/151.02 , U32(tt(), V) -> U33(isQid(activate(V))) 596.95/151.02 , U33(tt()) -> tt() 596.95/151.02 , isQid(n__a()) -> tt() 596.95/151.02 , isQid(n__e()) -> tt() 596.95/151.02 , isQid(n__i()) -> tt() 596.95/151.02 , isQid(n__o()) -> tt() 596.95/151.02 , isQid(n__u()) -> tt() 596.95/151.02 , U41(tt(), V1, V2) -> 596.95/151.02 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.02 , U42(tt(), V1, V2) -> 596.95/151.02 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.02 , U43(tt(), V1, V2) -> 596.95/151.02 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.02 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 596.95/151.02 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 596.95/151.02 , U46(tt()) -> tt() 596.95/151.02 , U51(tt(), V1, V2) -> 596.95/151.02 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.02 , U52(tt(), V1, V2) -> 596.95/151.02 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.02 , U53(tt(), V1, V2) -> 596.95/151.02 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.02 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 596.95/151.02 , U55(tt(), V2) -> U56(isList(activate(V2))) 596.95/151.02 , U56(tt()) -> tt() 596.95/151.02 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 596.95/151.02 , U62(tt(), V) -> U63(isQid(activate(V))) 596.95/151.02 , U63(tt()) -> tt() 596.95/151.02 , U71(tt(), I, P) -> U72(isPalListKind(activate(I)), activate(P)) 596.95/151.02 , U72(tt(), P) -> U73(isPal(activate(P)), activate(P)) 596.95/151.02 , U73(tt(), P) -> U74(isPalListKind(activate(P))) 596.95/151.02 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 596.95/151.02 , isPal(n__nil()) -> tt() 596.95/151.02 , U74(tt()) -> tt() 596.95/151.02 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 596.95/151.02 , U82(tt(), V) -> U83(isNePal(activate(V))) 596.95/151.02 , U83(tt()) -> tt() 596.95/151.02 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 596.95/151.02 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 596.95/151.02 , U92(tt()) -> tt() 596.95/151.02 , a() -> n__a() 596.95/151.02 , e() -> n__e() 596.95/151.02 , i() -> n__i() 596.95/151.02 , o() -> n__o() 596.95/151.02 , u() -> n__u() } 596.95/151.02 Obligation: 596.95/151.02 innermost runtime complexity 596.95/151.02 Answer: 596.95/151.02 YES(O(1),O(n^2)) 596.95/151.02 596.95/151.02 We add the following dependency tuples: 596.95/151.02 596.95/151.02 Strict DPs: 596.95/151.02 { __^#(X1, X2) -> c_1() 596.95/151.02 , nil^#() -> c_2() 596.95/151.02 , U11^#(tt(), V) -> 596.95/151.02 c_3(U12^#(isPalListKind(activate(V)), activate(V)), 596.95/151.02 isPalListKind^#(activate(V)), 596.95/151.02 activate^#(V), 596.95/151.02 activate^#(V)) 596.95/151.02 , U12^#(tt(), V) -> 596.95/151.02 c_4(U13^#(isNeList(activate(V))), 596.95/151.02 isNeList^#(activate(V)), 596.95/151.02 activate^#(V)) 596.95/151.02 , isPalListKind^#(n__nil()) -> c_5() 596.95/151.02 , isPalListKind^#(n____(V1, V2)) -> 596.95/151.02 c_6(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.02 isPalListKind^#(activate(V1)), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V2)) 596.95/151.02 , isPalListKind^#(n__a()) -> c_7() 596.95/151.02 , isPalListKind^#(n__e()) -> c_8() 596.95/151.02 , isPalListKind^#(n__i()) -> c_9() 596.95/151.02 , isPalListKind^#(n__o()) -> c_10() 596.95/151.02 , isPalListKind^#(n__u()) -> c_11() 596.95/151.02 , activate^#(X) -> c_12() 596.95/151.02 , activate^#(n__nil()) -> c_13(nil^#()) 596.95/151.02 , activate^#(n____(X1, X2)) -> c_14(__^#(X1, X2)) 596.95/151.02 , activate^#(n__a()) -> c_15(a^#()) 596.95/151.02 , activate^#(n__e()) -> c_16(e^#()) 596.95/151.02 , activate^#(n__i()) -> c_17(i^#()) 596.95/151.02 , activate^#(n__o()) -> c_18(o^#()) 596.95/151.02 , activate^#(n__u()) -> c_19(u^#()) 596.95/151.02 , U13^#(tt()) -> c_20() 596.95/151.02 , isNeList^#(V) -> 596.95/151.02 c_21(U31^#(isPalListKind(activate(V)), activate(V)), 596.95/151.02 isPalListKind^#(activate(V)), 596.95/151.02 activate^#(V), 596.95/151.02 activate^#(V)) 596.95/151.02 , isNeList^#(n____(V1, V2)) -> 596.95/151.02 c_22(U41^#(isPalListKind(activate(V1)), 596.95/151.02 activate(V1), 596.95/151.02 activate(V2)), 596.95/151.02 isPalListKind^#(activate(V1)), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V2)) 596.95/151.02 , isNeList^#(n____(V1, V2)) -> 596.95/151.02 c_23(U51^#(isPalListKind(activate(V1)), 596.95/151.02 activate(V1), 596.95/151.02 activate(V2)), 596.95/151.02 isPalListKind^#(activate(V1)), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V2)) 596.95/151.02 , U91^#(tt(), V2) -> 596.95/151.02 c_66(U92^#(isPalListKind(activate(V2))), 596.95/151.02 isPalListKind^#(activate(V2)), 596.95/151.02 activate^#(V2)) 596.95/151.02 , a^#() -> c_68() 596.95/151.02 , e^#() -> c_69() 596.95/151.02 , i^#() -> c_70() 596.95/151.02 , o^#() -> c_71() 596.95/151.02 , u^#() -> c_72() 596.95/151.02 , U31^#(tt(), V) -> 596.95/151.02 c_33(U32^#(isPalListKind(activate(V)), activate(V)), 596.95/151.02 isPalListKind^#(activate(V)), 596.95/151.02 activate^#(V), 596.95/151.02 activate^#(V)) 596.95/151.02 , U41^#(tt(), V1, V2) -> 596.95/151.02 c_41(U42^#(isPalListKind(activate(V1)), 596.95/151.02 activate(V1), 596.95/151.02 activate(V2)), 596.95/151.02 isPalListKind^#(activate(V1)), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V2)) 596.95/151.02 , U51^#(tt(), V1, V2) -> 596.95/151.02 c_47(U52^#(isPalListKind(activate(V1)), 596.95/151.02 activate(V1), 596.95/151.02 activate(V2)), 596.95/151.02 isPalListKind^#(activate(V1)), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V2)) 596.95/151.02 , U21^#(tt(), V1, V2) -> 596.95/151.02 c_24(U22^#(isPalListKind(activate(V1)), 596.95/151.02 activate(V1), 596.95/151.02 activate(V2)), 596.95/151.02 isPalListKind^#(activate(V1)), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V2)) 596.95/151.02 , U22^#(tt(), V1, V2) -> 596.95/151.02 c_25(U23^#(isPalListKind(activate(V2)), 596.95/151.02 activate(V1), 596.95/151.02 activate(V2)), 596.95/151.02 isPalListKind^#(activate(V2)), 596.95/151.02 activate^#(V2), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V2)) 596.95/151.02 , U23^#(tt(), V1, V2) -> 596.95/151.02 c_26(U24^#(isPalListKind(activate(V2)), 596.95/151.02 activate(V1), 596.95/151.02 activate(V2)), 596.95/151.02 isPalListKind^#(activate(V2)), 596.95/151.02 activate^#(V2), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V2)) 596.95/151.02 , U24^#(tt(), V1, V2) -> 596.95/151.02 c_27(U25^#(isList(activate(V1)), activate(V2)), 596.95/151.02 isList^#(activate(V1)), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V2)) 596.95/151.02 , U25^#(tt(), V2) -> 596.95/151.02 c_28(U26^#(isList(activate(V2))), 596.95/151.02 isList^#(activate(V2)), 596.95/151.02 activate^#(V2)) 596.95/151.02 , isList^#(V) -> 596.95/151.02 c_29(U11^#(isPalListKind(activate(V)), activate(V)), 596.95/151.02 isPalListKind^#(activate(V)), 596.95/151.02 activate^#(V), 596.95/151.02 activate^#(V)) 596.95/151.02 , isList^#(n__nil()) -> c_30() 596.95/151.02 , isList^#(n____(V1, V2)) -> 596.95/151.02 c_31(U21^#(isPalListKind(activate(V1)), 596.95/151.02 activate(V1), 596.95/151.02 activate(V2)), 596.95/151.02 isPalListKind^#(activate(V1)), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V2)) 596.95/151.02 , U26^#(tt()) -> c_32() 596.95/151.02 , U32^#(tt(), V) -> 596.95/151.02 c_34(U33^#(isQid(activate(V))), 596.95/151.02 isQid^#(activate(V)), 596.95/151.02 activate^#(V)) 596.95/151.02 , U33^#(tt()) -> c_35() 596.95/151.02 , isQid^#(n__a()) -> c_36() 596.95/151.02 , isQid^#(n__e()) -> c_37() 596.95/151.02 , isQid^#(n__i()) -> c_38() 596.95/151.02 , isQid^#(n__o()) -> c_39() 596.95/151.02 , isQid^#(n__u()) -> c_40() 596.95/151.02 , U42^#(tt(), V1, V2) -> 596.95/151.02 c_42(U43^#(isPalListKind(activate(V2)), 596.95/151.02 activate(V1), 596.95/151.02 activate(V2)), 596.95/151.02 isPalListKind^#(activate(V2)), 596.95/151.02 activate^#(V2), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V2)) 596.95/151.02 , U43^#(tt(), V1, V2) -> 596.95/151.02 c_43(U44^#(isPalListKind(activate(V2)), 596.95/151.02 activate(V1), 596.95/151.02 activate(V2)), 596.95/151.02 isPalListKind^#(activate(V2)), 596.95/151.02 activate^#(V2), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V2)) 596.95/151.02 , U44^#(tt(), V1, V2) -> 596.95/151.02 c_44(U45^#(isList(activate(V1)), activate(V2)), 596.95/151.02 isList^#(activate(V1)), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V2)) 596.95/151.02 , U45^#(tt(), V2) -> 596.95/151.02 c_45(U46^#(isNeList(activate(V2))), 596.95/151.02 isNeList^#(activate(V2)), 596.95/151.02 activate^#(V2)) 596.95/151.02 , U46^#(tt()) -> c_46() 596.95/151.02 , U52^#(tt(), V1, V2) -> 596.95/151.02 c_48(U53^#(isPalListKind(activate(V2)), 596.95/151.02 activate(V1), 596.95/151.02 activate(V2)), 596.95/151.02 isPalListKind^#(activate(V2)), 596.95/151.02 activate^#(V2), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V2)) 596.95/151.02 , U53^#(tt(), V1, V2) -> 596.95/151.02 c_49(U54^#(isPalListKind(activate(V2)), 596.95/151.02 activate(V1), 596.95/151.02 activate(V2)), 596.95/151.02 isPalListKind^#(activate(V2)), 596.95/151.02 activate^#(V2), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V2)) 596.95/151.02 , U54^#(tt(), V1, V2) -> 596.95/151.02 c_50(U55^#(isNeList(activate(V1)), activate(V2)), 596.95/151.02 isNeList^#(activate(V1)), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V2)) 596.95/151.02 , U55^#(tt(), V2) -> 596.95/151.02 c_51(U56^#(isList(activate(V2))), 596.95/151.02 isList^#(activate(V2)), 596.95/151.02 activate^#(V2)) 596.95/151.02 , U56^#(tt()) -> c_52() 596.95/151.02 , U61^#(tt(), V) -> 596.95/151.02 c_53(U62^#(isPalListKind(activate(V)), activate(V)), 596.95/151.02 isPalListKind^#(activate(V)), 596.95/151.02 activate^#(V), 596.95/151.02 activate^#(V)) 596.95/151.02 , U62^#(tt(), V) -> 596.95/151.02 c_54(U63^#(isQid(activate(V))), 596.95/151.02 isQid^#(activate(V)), 596.95/151.02 activate^#(V)) 596.95/151.02 , U63^#(tt()) -> c_55() 596.95/151.02 , U71^#(tt(), I, P) -> 596.95/151.02 c_56(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.02 isPalListKind^#(activate(I)), 596.95/151.02 activate^#(I), 596.95/151.02 activate^#(P)) 596.95/151.02 , U72^#(tt(), P) -> 596.95/151.02 c_57(U73^#(isPal(activate(P)), activate(P)), 596.95/151.02 isPal^#(activate(P)), 596.95/151.02 activate^#(P), 596.95/151.02 activate^#(P)) 596.95/151.02 , U73^#(tt(), P) -> 596.95/151.02 c_58(U74^#(isPalListKind(activate(P))), 596.95/151.02 isPalListKind^#(activate(P)), 596.95/151.02 activate^#(P)) 596.95/151.02 , isPal^#(V) -> 596.95/151.02 c_59(U81^#(isPalListKind(activate(V)), activate(V)), 596.95/151.02 isPalListKind^#(activate(V)), 596.95/151.02 activate^#(V), 596.95/151.02 activate^#(V)) 596.95/151.02 , isPal^#(n__nil()) -> c_60() 596.95/151.02 , U74^#(tt()) -> c_61() 596.95/151.02 , U81^#(tt(), V) -> 596.95/151.02 c_62(U82^#(isPalListKind(activate(V)), activate(V)), 596.95/151.02 isPalListKind^#(activate(V)), 596.95/151.02 activate^#(V), 596.95/151.02 activate^#(V)) 596.95/151.02 , U82^#(tt(), V) -> 596.95/151.02 c_63(U83^#(isNePal(activate(V))), 596.95/151.02 isNePal^#(activate(V)), 596.95/151.02 activate^#(V)) 596.95/151.02 , U83^#(tt()) -> c_64() 596.95/151.02 , isNePal^#(V) -> 596.95/151.02 c_65(U61^#(isPalListKind(activate(V)), activate(V)), 596.95/151.02 isPalListKind^#(activate(V)), 596.95/151.02 activate^#(V), 596.95/151.02 activate^#(V)) 596.95/151.02 , U92^#(tt()) -> c_67() } 596.95/151.02 596.95/151.02 and mark the set of starting terms. 596.95/151.02 596.95/151.02 We are left with following problem, upon which TcT provides the 596.95/151.02 certificate YES(O(1),O(n^2)). 596.95/151.02 596.95/151.02 Strict DPs: 596.95/151.02 { __^#(X1, X2) -> c_1() 596.95/151.02 , nil^#() -> c_2() 596.95/151.02 , U11^#(tt(), V) -> 596.95/151.02 c_3(U12^#(isPalListKind(activate(V)), activate(V)), 596.95/151.02 isPalListKind^#(activate(V)), 596.95/151.02 activate^#(V), 596.95/151.02 activate^#(V)) 596.95/151.02 , U12^#(tt(), V) -> 596.95/151.02 c_4(U13^#(isNeList(activate(V))), 596.95/151.02 isNeList^#(activate(V)), 596.95/151.02 activate^#(V)) 596.95/151.02 , isPalListKind^#(n__nil()) -> c_5() 596.95/151.02 , isPalListKind^#(n____(V1, V2)) -> 596.95/151.02 c_6(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.02 isPalListKind^#(activate(V1)), 596.95/151.02 activate^#(V1), 596.95/151.02 activate^#(V2)) 596.95/151.02 , isPalListKind^#(n__a()) -> c_7() 596.95/151.02 , isPalListKind^#(n__e()) -> c_8() 596.95/151.02 , isPalListKind^#(n__i()) -> c_9() 596.95/151.02 , isPalListKind^#(n__o()) -> c_10() 596.95/151.02 , isPalListKind^#(n__u()) -> c_11() 596.95/151.02 , activate^#(X) -> c_12() 596.95/151.02 , activate^#(n__nil()) -> c_13(nil^#()) 596.95/151.02 , activate^#(n____(X1, X2)) -> c_14(__^#(X1, X2)) 596.95/151.02 , activate^#(n__a()) -> c_15(a^#()) 596.95/151.03 , activate^#(n__e()) -> c_16(e^#()) 596.95/151.03 , activate^#(n__i()) -> c_17(i^#()) 596.95/151.03 , activate^#(n__o()) -> c_18(o^#()) 596.95/151.03 , activate^#(n__u()) -> c_19(u^#()) 596.95/151.03 , U13^#(tt()) -> c_20() 596.95/151.03 , isNeList^#(V) -> 596.95/151.03 c_21(U31^#(isPalListKind(activate(V)), activate(V)), 596.95/151.03 isPalListKind^#(activate(V)), 596.95/151.03 activate^#(V), 596.95/151.03 activate^#(V)) 596.95/151.03 , isNeList^#(n____(V1, V2)) -> 596.95/151.03 c_22(U41^#(isPalListKind(activate(V1)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V1)), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , isNeList^#(n____(V1, V2)) -> 596.95/151.03 c_23(U51^#(isPalListKind(activate(V1)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V1)), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , U91^#(tt(), V2) -> 596.95/151.03 c_66(U92^#(isPalListKind(activate(V2))), 596.95/151.03 isPalListKind^#(activate(V2)), 596.95/151.03 activate^#(V2)) 596.95/151.03 , a^#() -> c_68() 596.95/151.03 , e^#() -> c_69() 596.95/151.03 , i^#() -> c_70() 596.95/151.03 , o^#() -> c_71() 596.95/151.03 , u^#() -> c_72() 596.95/151.03 , U31^#(tt(), V) -> 596.95/151.03 c_33(U32^#(isPalListKind(activate(V)), activate(V)), 596.95/151.03 isPalListKind^#(activate(V)), 596.95/151.03 activate^#(V), 596.95/151.03 activate^#(V)) 596.95/151.03 , U41^#(tt(), V1, V2) -> 596.95/151.03 c_41(U42^#(isPalListKind(activate(V1)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V1)), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , U51^#(tt(), V1, V2) -> 596.95/151.03 c_47(U52^#(isPalListKind(activate(V1)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V1)), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , U21^#(tt(), V1, V2) -> 596.95/151.03 c_24(U22^#(isPalListKind(activate(V1)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V1)), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , U22^#(tt(), V1, V2) -> 596.95/151.03 c_25(U23^#(isPalListKind(activate(V2)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V2)), 596.95/151.03 activate^#(V2), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , U23^#(tt(), V1, V2) -> 596.95/151.03 c_26(U24^#(isPalListKind(activate(V2)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V2)), 596.95/151.03 activate^#(V2), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , U24^#(tt(), V1, V2) -> 596.95/151.03 c_27(U25^#(isList(activate(V1)), activate(V2)), 596.95/151.03 isList^#(activate(V1)), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , U25^#(tt(), V2) -> 596.95/151.03 c_28(U26^#(isList(activate(V2))), 596.95/151.03 isList^#(activate(V2)), 596.95/151.03 activate^#(V2)) 596.95/151.03 , isList^#(V) -> 596.95/151.03 c_29(U11^#(isPalListKind(activate(V)), activate(V)), 596.95/151.03 isPalListKind^#(activate(V)), 596.95/151.03 activate^#(V), 596.95/151.03 activate^#(V)) 596.95/151.03 , isList^#(n__nil()) -> c_30() 596.95/151.03 , isList^#(n____(V1, V2)) -> 596.95/151.03 c_31(U21^#(isPalListKind(activate(V1)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V1)), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , U26^#(tt()) -> c_32() 596.95/151.03 , U32^#(tt(), V) -> 596.95/151.03 c_34(U33^#(isQid(activate(V))), 596.95/151.03 isQid^#(activate(V)), 596.95/151.03 activate^#(V)) 596.95/151.03 , U33^#(tt()) -> c_35() 596.95/151.03 , isQid^#(n__a()) -> c_36() 596.95/151.03 , isQid^#(n__e()) -> c_37() 596.95/151.03 , isQid^#(n__i()) -> c_38() 596.95/151.03 , isQid^#(n__o()) -> c_39() 596.95/151.03 , isQid^#(n__u()) -> c_40() 596.95/151.03 , U42^#(tt(), V1, V2) -> 596.95/151.03 c_42(U43^#(isPalListKind(activate(V2)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V2)), 596.95/151.03 activate^#(V2), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , U43^#(tt(), V1, V2) -> 596.95/151.03 c_43(U44^#(isPalListKind(activate(V2)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V2)), 596.95/151.03 activate^#(V2), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , U44^#(tt(), V1, V2) -> 596.95/151.03 c_44(U45^#(isList(activate(V1)), activate(V2)), 596.95/151.03 isList^#(activate(V1)), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , U45^#(tt(), V2) -> 596.95/151.03 c_45(U46^#(isNeList(activate(V2))), 596.95/151.03 isNeList^#(activate(V2)), 596.95/151.03 activate^#(V2)) 596.95/151.03 , U46^#(tt()) -> c_46() 596.95/151.03 , U52^#(tt(), V1, V2) -> 596.95/151.03 c_48(U53^#(isPalListKind(activate(V2)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V2)), 596.95/151.03 activate^#(V2), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , U53^#(tt(), V1, V2) -> 596.95/151.03 c_49(U54^#(isPalListKind(activate(V2)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V2)), 596.95/151.03 activate^#(V2), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , U54^#(tt(), V1, V2) -> 596.95/151.03 c_50(U55^#(isNeList(activate(V1)), activate(V2)), 596.95/151.03 isNeList^#(activate(V1)), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , U55^#(tt(), V2) -> 596.95/151.03 c_51(U56^#(isList(activate(V2))), 596.95/151.03 isList^#(activate(V2)), 596.95/151.03 activate^#(V2)) 596.95/151.03 , U56^#(tt()) -> c_52() 596.95/151.03 , U61^#(tt(), V) -> 596.95/151.03 c_53(U62^#(isPalListKind(activate(V)), activate(V)), 596.95/151.03 isPalListKind^#(activate(V)), 596.95/151.03 activate^#(V), 596.95/151.03 activate^#(V)) 596.95/151.03 , U62^#(tt(), V) -> 596.95/151.03 c_54(U63^#(isQid(activate(V))), 596.95/151.03 isQid^#(activate(V)), 596.95/151.03 activate^#(V)) 596.95/151.03 , U63^#(tt()) -> c_55() 596.95/151.03 , U71^#(tt(), I, P) -> 596.95/151.03 c_56(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.03 isPalListKind^#(activate(I)), 596.95/151.03 activate^#(I), 596.95/151.03 activate^#(P)) 596.95/151.03 , U72^#(tt(), P) -> 596.95/151.03 c_57(U73^#(isPal(activate(P)), activate(P)), 596.95/151.03 isPal^#(activate(P)), 596.95/151.03 activate^#(P), 596.95/151.03 activate^#(P)) 596.95/151.03 , U73^#(tt(), P) -> 596.95/151.03 c_58(U74^#(isPalListKind(activate(P))), 596.95/151.03 isPalListKind^#(activate(P)), 596.95/151.03 activate^#(P)) 596.95/151.03 , isPal^#(V) -> 596.95/151.03 c_59(U81^#(isPalListKind(activate(V)), activate(V)), 596.95/151.03 isPalListKind^#(activate(V)), 596.95/151.03 activate^#(V), 596.95/151.03 activate^#(V)) 596.95/151.03 , isPal^#(n__nil()) -> c_60() 596.95/151.03 , U74^#(tt()) -> c_61() 596.95/151.03 , U81^#(tt(), V) -> 596.95/151.03 c_62(U82^#(isPalListKind(activate(V)), activate(V)), 596.95/151.03 isPalListKind^#(activate(V)), 596.95/151.03 activate^#(V), 596.95/151.03 activate^#(V)) 596.95/151.03 , U82^#(tt(), V) -> 596.95/151.03 c_63(U83^#(isNePal(activate(V))), 596.95/151.03 isNePal^#(activate(V)), 596.95/151.03 activate^#(V)) 596.95/151.03 , U83^#(tt()) -> c_64() 596.95/151.03 , isNePal^#(V) -> 596.95/151.03 c_65(U61^#(isPalListKind(activate(V)), activate(V)), 596.95/151.03 isPalListKind^#(activate(V)), 596.95/151.03 activate^#(V), 596.95/151.03 activate^#(V)) 596.95/151.03 , U92^#(tt()) -> c_67() } 596.95/151.03 Weak Trs: 596.95/151.03 { __(X1, X2) -> n____(X1, X2) 596.95/151.03 , nil() -> n__nil() 596.95/151.03 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 596.95/151.03 , U12(tt(), V) -> U13(isNeList(activate(V))) 596.95/151.03 , isPalListKind(n__nil()) -> tt() 596.95/151.03 , isPalListKind(n____(V1, V2)) -> 596.95/151.03 U91(isPalListKind(activate(V1)), activate(V2)) 596.95/151.03 , isPalListKind(n__a()) -> tt() 596.95/151.03 , isPalListKind(n__e()) -> tt() 596.95/151.03 , isPalListKind(n__i()) -> tt() 596.95/151.03 , isPalListKind(n__o()) -> tt() 596.95/151.03 , isPalListKind(n__u()) -> tt() 596.95/151.03 , activate(X) -> X 596.95/151.03 , activate(n__nil()) -> nil() 596.95/151.03 , activate(n____(X1, X2)) -> __(X1, X2) 596.95/151.03 , activate(n__a()) -> a() 596.95/151.03 , activate(n__e()) -> e() 596.95/151.03 , activate(n__i()) -> i() 596.95/151.03 , activate(n__o()) -> o() 596.95/151.03 , activate(n__u()) -> u() 596.95/151.03 , U13(tt()) -> tt() 596.95/151.03 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 596.95/151.03 , isNeList(n____(V1, V2)) -> 596.95/151.03 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.03 , isNeList(n____(V1, V2)) -> 596.95/151.03 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.03 , U21(tt(), V1, V2) -> 596.95/151.03 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.03 , U22(tt(), V1, V2) -> 596.95/151.03 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.03 , U23(tt(), V1, V2) -> 596.95/151.03 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.03 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 596.95/151.03 , U25(tt(), V2) -> U26(isList(activate(V2))) 596.95/151.03 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 596.95/151.03 , isList(n__nil()) -> tt() 596.95/151.03 , isList(n____(V1, V2)) -> 596.95/151.03 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.03 , U26(tt()) -> tt() 596.95/151.03 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 596.95/151.03 , U32(tt(), V) -> U33(isQid(activate(V))) 596.95/151.03 , U33(tt()) -> tt() 596.95/151.03 , isQid(n__a()) -> tt() 596.95/151.03 , isQid(n__e()) -> tt() 596.95/151.03 , isQid(n__i()) -> tt() 596.95/151.03 , isQid(n__o()) -> tt() 596.95/151.03 , isQid(n__u()) -> tt() 596.95/151.03 , U41(tt(), V1, V2) -> 596.95/151.03 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.03 , U42(tt(), V1, V2) -> 596.95/151.03 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.03 , U43(tt(), V1, V2) -> 596.95/151.03 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.03 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 596.95/151.03 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 596.95/151.03 , U46(tt()) -> tt() 596.95/151.03 , U51(tt(), V1, V2) -> 596.95/151.03 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.03 , U52(tt(), V1, V2) -> 596.95/151.03 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.03 , U53(tt(), V1, V2) -> 596.95/151.03 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.03 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 596.95/151.03 , U55(tt(), V2) -> U56(isList(activate(V2))) 596.95/151.03 , U56(tt()) -> tt() 596.95/151.03 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 596.95/151.03 , U62(tt(), V) -> U63(isQid(activate(V))) 596.95/151.03 , U63(tt()) -> tt() 596.95/151.03 , U71(tt(), I, P) -> U72(isPalListKind(activate(I)), activate(P)) 596.95/151.03 , U72(tt(), P) -> U73(isPal(activate(P)), activate(P)) 596.95/151.03 , U73(tt(), P) -> U74(isPalListKind(activate(P))) 596.95/151.03 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 596.95/151.03 , isPal(n__nil()) -> tt() 596.95/151.03 , U74(tt()) -> tt() 596.95/151.03 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 596.95/151.03 , U82(tt(), V) -> U83(isNePal(activate(V))) 596.95/151.03 , U83(tt()) -> tt() 596.95/151.03 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 596.95/151.03 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 596.95/151.03 , U92(tt()) -> tt() 596.95/151.03 , a() -> n__a() 596.95/151.03 , e() -> n__e() 596.95/151.03 , i() -> n__i() 596.95/151.03 , o() -> n__o() 596.95/151.03 , u() -> n__u() } 596.95/151.03 Obligation: 596.95/151.03 innermost runtime complexity 596.95/151.03 Answer: 596.95/151.03 YES(O(1),O(n^2)) 596.95/151.03 596.95/151.03 We estimate the number of application of 596.95/151.03 {1,2,5,7,8,9,10,11,12,20,25,26,27,28,29,39,41,43,44,45,46,47,48,53,58,61,66,67,70,72} 596.95/151.03 by applications of 596.95/151.03 Pre({1,2,5,7,8,9,10,11,12,20,25,26,27,28,29,39,41,43,44,45,46,47,48,53,58,61,66,67,70,72}) 596.95/151.03 = 596.95/151.03 {3,4,6,13,14,15,16,17,18,19,21,22,23,24,30,31,32,33,34,35,36,37,38,40,42,49,50,51,52,54,55,56,57,59,60,62,63,64,65,68,69,71}. 596.95/151.03 Here rules are labeled as follows: 596.95/151.03 596.95/151.03 DPs: 596.95/151.03 { 1: __^#(X1, X2) -> c_1() 596.95/151.03 , 2: nil^#() -> c_2() 596.95/151.03 , 3: U11^#(tt(), V) -> 596.95/151.03 c_3(U12^#(isPalListKind(activate(V)), activate(V)), 596.95/151.03 isPalListKind^#(activate(V)), 596.95/151.03 activate^#(V), 596.95/151.03 activate^#(V)) 596.95/151.03 , 4: U12^#(tt(), V) -> 596.95/151.03 c_4(U13^#(isNeList(activate(V))), 596.95/151.03 isNeList^#(activate(V)), 596.95/151.03 activate^#(V)) 596.95/151.03 , 5: isPalListKind^#(n__nil()) -> c_5() 596.95/151.03 , 6: isPalListKind^#(n____(V1, V2)) -> 596.95/151.03 c_6(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.03 isPalListKind^#(activate(V1)), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , 7: isPalListKind^#(n__a()) -> c_7() 596.95/151.03 , 8: isPalListKind^#(n__e()) -> c_8() 596.95/151.03 , 9: isPalListKind^#(n__i()) -> c_9() 596.95/151.03 , 10: isPalListKind^#(n__o()) -> c_10() 596.95/151.03 , 11: isPalListKind^#(n__u()) -> c_11() 596.95/151.03 , 12: activate^#(X) -> c_12() 596.95/151.03 , 13: activate^#(n__nil()) -> c_13(nil^#()) 596.95/151.03 , 14: activate^#(n____(X1, X2)) -> c_14(__^#(X1, X2)) 596.95/151.03 , 15: activate^#(n__a()) -> c_15(a^#()) 596.95/151.03 , 16: activate^#(n__e()) -> c_16(e^#()) 596.95/151.03 , 17: activate^#(n__i()) -> c_17(i^#()) 596.95/151.03 , 18: activate^#(n__o()) -> c_18(o^#()) 596.95/151.03 , 19: activate^#(n__u()) -> c_19(u^#()) 596.95/151.03 , 20: U13^#(tt()) -> c_20() 596.95/151.03 , 21: isNeList^#(V) -> 596.95/151.03 c_21(U31^#(isPalListKind(activate(V)), activate(V)), 596.95/151.03 isPalListKind^#(activate(V)), 596.95/151.03 activate^#(V), 596.95/151.03 activate^#(V)) 596.95/151.03 , 22: isNeList^#(n____(V1, V2)) -> 596.95/151.03 c_22(U41^#(isPalListKind(activate(V1)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V1)), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , 23: isNeList^#(n____(V1, V2)) -> 596.95/151.03 c_23(U51^#(isPalListKind(activate(V1)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V1)), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , 24: U91^#(tt(), V2) -> 596.95/151.03 c_66(U92^#(isPalListKind(activate(V2))), 596.95/151.03 isPalListKind^#(activate(V2)), 596.95/151.03 activate^#(V2)) 596.95/151.03 , 25: a^#() -> c_68() 596.95/151.03 , 26: e^#() -> c_69() 596.95/151.03 , 27: i^#() -> c_70() 596.95/151.03 , 28: o^#() -> c_71() 596.95/151.03 , 29: u^#() -> c_72() 596.95/151.03 , 30: U31^#(tt(), V) -> 596.95/151.03 c_33(U32^#(isPalListKind(activate(V)), activate(V)), 596.95/151.03 isPalListKind^#(activate(V)), 596.95/151.03 activate^#(V), 596.95/151.03 activate^#(V)) 596.95/151.03 , 31: U41^#(tt(), V1, V2) -> 596.95/151.03 c_41(U42^#(isPalListKind(activate(V1)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V1)), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , 32: U51^#(tt(), V1, V2) -> 596.95/151.03 c_47(U52^#(isPalListKind(activate(V1)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V1)), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , 33: U21^#(tt(), V1, V2) -> 596.95/151.03 c_24(U22^#(isPalListKind(activate(V1)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V1)), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , 34: U22^#(tt(), V1, V2) -> 596.95/151.03 c_25(U23^#(isPalListKind(activate(V2)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V2)), 596.95/151.03 activate^#(V2), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , 35: U23^#(tt(), V1, V2) -> 596.95/151.03 c_26(U24^#(isPalListKind(activate(V2)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V2)), 596.95/151.03 activate^#(V2), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , 36: U24^#(tt(), V1, V2) -> 596.95/151.03 c_27(U25^#(isList(activate(V1)), activate(V2)), 596.95/151.03 isList^#(activate(V1)), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , 37: U25^#(tt(), V2) -> 596.95/151.03 c_28(U26^#(isList(activate(V2))), 596.95/151.03 isList^#(activate(V2)), 596.95/151.03 activate^#(V2)) 596.95/151.03 , 38: isList^#(V) -> 596.95/151.03 c_29(U11^#(isPalListKind(activate(V)), activate(V)), 596.95/151.03 isPalListKind^#(activate(V)), 596.95/151.03 activate^#(V), 596.95/151.03 activate^#(V)) 596.95/151.03 , 39: isList^#(n__nil()) -> c_30() 596.95/151.03 , 40: isList^#(n____(V1, V2)) -> 596.95/151.03 c_31(U21^#(isPalListKind(activate(V1)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V1)), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , 41: U26^#(tt()) -> c_32() 596.95/151.03 , 42: U32^#(tt(), V) -> 596.95/151.03 c_34(U33^#(isQid(activate(V))), 596.95/151.03 isQid^#(activate(V)), 596.95/151.03 activate^#(V)) 596.95/151.03 , 43: U33^#(tt()) -> c_35() 596.95/151.03 , 44: isQid^#(n__a()) -> c_36() 596.95/151.03 , 45: isQid^#(n__e()) -> c_37() 596.95/151.03 , 46: isQid^#(n__i()) -> c_38() 596.95/151.03 , 47: isQid^#(n__o()) -> c_39() 596.95/151.03 , 48: isQid^#(n__u()) -> c_40() 596.95/151.03 , 49: U42^#(tt(), V1, V2) -> 596.95/151.03 c_42(U43^#(isPalListKind(activate(V2)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V2)), 596.95/151.03 activate^#(V2), 596.95/151.03 activate^#(V1), 596.95/151.03 activate^#(V2)) 596.95/151.03 , 50: U43^#(tt(), V1, V2) -> 596.95/151.03 c_43(U44^#(isPalListKind(activate(V2)), 596.95/151.03 activate(V1), 596.95/151.03 activate(V2)), 596.95/151.03 isPalListKind^#(activate(V2)), 596.95/151.04 activate^#(V2), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 51: U44^#(tt(), V1, V2) -> 596.95/151.04 c_44(U45^#(isList(activate(V1)), activate(V2)), 596.95/151.04 isList^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 52: U45^#(tt(), V2) -> 596.95/151.04 c_45(U46^#(isNeList(activate(V2))), 596.95/151.04 isNeList^#(activate(V2)), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 53: U46^#(tt()) -> c_46() 596.95/151.04 , 54: U52^#(tt(), V1, V2) -> 596.95/151.04 c_48(U53^#(isPalListKind(activate(V2)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V2)), 596.95/151.04 activate^#(V2), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 55: U53^#(tt(), V1, V2) -> 596.95/151.04 c_49(U54^#(isPalListKind(activate(V2)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V2)), 596.95/151.04 activate^#(V2), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 56: U54^#(tt(), V1, V2) -> 596.95/151.04 c_50(U55^#(isNeList(activate(V1)), activate(V2)), 596.95/151.04 isNeList^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 57: U55^#(tt(), V2) -> 596.95/151.04 c_51(U56^#(isList(activate(V2))), 596.95/151.04 isList^#(activate(V2)), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 58: U56^#(tt()) -> c_52() 596.95/151.04 , 59: U61^#(tt(), V) -> 596.95/151.04 c_53(U62^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , 60: U62^#(tt(), V) -> 596.95/151.04 c_54(U63^#(isQid(activate(V))), 596.95/151.04 isQid^#(activate(V)), 596.95/151.04 activate^#(V)) 596.95/151.04 , 61: U63^#(tt()) -> c_55() 596.95/151.04 , 62: U71^#(tt(), I, P) -> 596.95/151.04 c_56(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.04 isPalListKind^#(activate(I)), 596.95/151.04 activate^#(I), 596.95/151.04 activate^#(P)) 596.95/151.04 , 63: U72^#(tt(), P) -> 596.95/151.04 c_57(U73^#(isPal(activate(P)), activate(P)), 596.95/151.04 isPal^#(activate(P)), 596.95/151.04 activate^#(P), 596.95/151.04 activate^#(P)) 596.95/151.04 , 64: U73^#(tt(), P) -> 596.95/151.04 c_58(U74^#(isPalListKind(activate(P))), 596.95/151.04 isPalListKind^#(activate(P)), 596.95/151.04 activate^#(P)) 596.95/151.04 , 65: isPal^#(V) -> 596.95/151.04 c_59(U81^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , 66: isPal^#(n__nil()) -> c_60() 596.95/151.04 , 67: U74^#(tt()) -> c_61() 596.95/151.04 , 68: U81^#(tt(), V) -> 596.95/151.04 c_62(U82^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , 69: U82^#(tt(), V) -> 596.95/151.04 c_63(U83^#(isNePal(activate(V))), 596.95/151.04 isNePal^#(activate(V)), 596.95/151.04 activate^#(V)) 596.95/151.04 , 70: U83^#(tt()) -> c_64() 596.95/151.04 , 71: isNePal^#(V) -> 596.95/151.04 c_65(U61^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , 72: U92^#(tt()) -> c_67() } 596.95/151.04 596.95/151.04 We are left with following problem, upon which TcT provides the 596.95/151.04 certificate YES(O(1),O(n^2)). 596.95/151.04 596.95/151.04 Strict DPs: 596.95/151.04 { U11^#(tt(), V) -> 596.95/151.04 c_3(U12^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , U12^#(tt(), V) -> 596.95/151.04 c_4(U13^#(isNeList(activate(V))), 596.95/151.04 isNeList^#(activate(V)), 596.95/151.04 activate^#(V)) 596.95/151.04 , isPalListKind^#(n____(V1, V2)) -> 596.95/151.04 c_6(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.04 isPalListKind^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , activate^#(n__nil()) -> c_13(nil^#()) 596.95/151.04 , activate^#(n____(X1, X2)) -> c_14(__^#(X1, X2)) 596.95/151.04 , activate^#(n__a()) -> c_15(a^#()) 596.95/151.04 , activate^#(n__e()) -> c_16(e^#()) 596.95/151.04 , activate^#(n__i()) -> c_17(i^#()) 596.95/151.04 , activate^#(n__o()) -> c_18(o^#()) 596.95/151.04 , activate^#(n__u()) -> c_19(u^#()) 596.95/151.04 , isNeList^#(V) -> 596.95/151.04 c_21(U31^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , isNeList^#(n____(V1, V2)) -> 596.95/151.04 c_22(U41^#(isPalListKind(activate(V1)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , isNeList^#(n____(V1, V2)) -> 596.95/151.04 c_23(U51^#(isPalListKind(activate(V1)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , U91^#(tt(), V2) -> 596.95/151.04 c_66(U92^#(isPalListKind(activate(V2))), 596.95/151.04 isPalListKind^#(activate(V2)), 596.95/151.04 activate^#(V2)) 596.95/151.04 , U31^#(tt(), V) -> 596.95/151.04 c_33(U32^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , U41^#(tt(), V1, V2) -> 596.95/151.04 c_41(U42^#(isPalListKind(activate(V1)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , U51^#(tt(), V1, V2) -> 596.95/151.04 c_47(U52^#(isPalListKind(activate(V1)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , U21^#(tt(), V1, V2) -> 596.95/151.04 c_24(U22^#(isPalListKind(activate(V1)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , U22^#(tt(), V1, V2) -> 596.95/151.04 c_25(U23^#(isPalListKind(activate(V2)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V2)), 596.95/151.04 activate^#(V2), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , U23^#(tt(), V1, V2) -> 596.95/151.04 c_26(U24^#(isPalListKind(activate(V2)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V2)), 596.95/151.04 activate^#(V2), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , U24^#(tt(), V1, V2) -> 596.95/151.04 c_27(U25^#(isList(activate(V1)), activate(V2)), 596.95/151.04 isList^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , U25^#(tt(), V2) -> 596.95/151.04 c_28(U26^#(isList(activate(V2))), 596.95/151.04 isList^#(activate(V2)), 596.95/151.04 activate^#(V2)) 596.95/151.04 , isList^#(V) -> 596.95/151.04 c_29(U11^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , isList^#(n____(V1, V2)) -> 596.95/151.04 c_31(U21^#(isPalListKind(activate(V1)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , U32^#(tt(), V) -> 596.95/151.04 c_34(U33^#(isQid(activate(V))), 596.95/151.04 isQid^#(activate(V)), 596.95/151.04 activate^#(V)) 596.95/151.04 , U42^#(tt(), V1, V2) -> 596.95/151.04 c_42(U43^#(isPalListKind(activate(V2)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V2)), 596.95/151.04 activate^#(V2), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , U43^#(tt(), V1, V2) -> 596.95/151.04 c_43(U44^#(isPalListKind(activate(V2)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V2)), 596.95/151.04 activate^#(V2), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , U44^#(tt(), V1, V2) -> 596.95/151.04 c_44(U45^#(isList(activate(V1)), activate(V2)), 596.95/151.04 isList^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , U45^#(tt(), V2) -> 596.95/151.04 c_45(U46^#(isNeList(activate(V2))), 596.95/151.04 isNeList^#(activate(V2)), 596.95/151.04 activate^#(V2)) 596.95/151.04 , U52^#(tt(), V1, V2) -> 596.95/151.04 c_48(U53^#(isPalListKind(activate(V2)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V2)), 596.95/151.04 activate^#(V2), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , U53^#(tt(), V1, V2) -> 596.95/151.04 c_49(U54^#(isPalListKind(activate(V2)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V2)), 596.95/151.04 activate^#(V2), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , U54^#(tt(), V1, V2) -> 596.95/151.04 c_50(U55^#(isNeList(activate(V1)), activate(V2)), 596.95/151.04 isNeList^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , U55^#(tt(), V2) -> 596.95/151.04 c_51(U56^#(isList(activate(V2))), 596.95/151.04 isList^#(activate(V2)), 596.95/151.04 activate^#(V2)) 596.95/151.04 , U61^#(tt(), V) -> 596.95/151.04 c_53(U62^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , U62^#(tt(), V) -> 596.95/151.04 c_54(U63^#(isQid(activate(V))), 596.95/151.04 isQid^#(activate(V)), 596.95/151.04 activate^#(V)) 596.95/151.04 , U71^#(tt(), I, P) -> 596.95/151.04 c_56(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.04 isPalListKind^#(activate(I)), 596.95/151.04 activate^#(I), 596.95/151.04 activate^#(P)) 596.95/151.04 , U72^#(tt(), P) -> 596.95/151.04 c_57(U73^#(isPal(activate(P)), activate(P)), 596.95/151.04 isPal^#(activate(P)), 596.95/151.04 activate^#(P), 596.95/151.04 activate^#(P)) 596.95/151.04 , U73^#(tt(), P) -> 596.95/151.04 c_58(U74^#(isPalListKind(activate(P))), 596.95/151.04 isPalListKind^#(activate(P)), 596.95/151.04 activate^#(P)) 596.95/151.04 , isPal^#(V) -> 596.95/151.04 c_59(U81^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , U81^#(tt(), V) -> 596.95/151.04 c_62(U82^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , U82^#(tt(), V) -> 596.95/151.04 c_63(U83^#(isNePal(activate(V))), 596.95/151.04 isNePal^#(activate(V)), 596.95/151.04 activate^#(V)) 596.95/151.04 , isNePal^#(V) -> 596.95/151.04 c_65(U61^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) } 596.95/151.04 Weak DPs: 596.95/151.04 { __^#(X1, X2) -> c_1() 596.95/151.04 , nil^#() -> c_2() 596.95/151.04 , isPalListKind^#(n__nil()) -> c_5() 596.95/151.04 , isPalListKind^#(n__a()) -> c_7() 596.95/151.04 , isPalListKind^#(n__e()) -> c_8() 596.95/151.04 , isPalListKind^#(n__i()) -> c_9() 596.95/151.04 , isPalListKind^#(n__o()) -> c_10() 596.95/151.04 , isPalListKind^#(n__u()) -> c_11() 596.95/151.04 , activate^#(X) -> c_12() 596.95/151.04 , U13^#(tt()) -> c_20() 596.95/151.04 , a^#() -> c_68() 596.95/151.04 , e^#() -> c_69() 596.95/151.04 , i^#() -> c_70() 596.95/151.04 , o^#() -> c_71() 596.95/151.04 , u^#() -> c_72() 596.95/151.04 , isList^#(n__nil()) -> c_30() 596.95/151.04 , U26^#(tt()) -> c_32() 596.95/151.04 , U33^#(tt()) -> c_35() 596.95/151.04 , isQid^#(n__a()) -> c_36() 596.95/151.04 , isQid^#(n__e()) -> c_37() 596.95/151.04 , isQid^#(n__i()) -> c_38() 596.95/151.04 , isQid^#(n__o()) -> c_39() 596.95/151.04 , isQid^#(n__u()) -> c_40() 596.95/151.04 , U46^#(tt()) -> c_46() 596.95/151.04 , U56^#(tt()) -> c_52() 596.95/151.04 , U63^#(tt()) -> c_55() 596.95/151.04 , isPal^#(n__nil()) -> c_60() 596.95/151.04 , U74^#(tt()) -> c_61() 596.95/151.04 , U83^#(tt()) -> c_64() 596.95/151.04 , U92^#(tt()) -> c_67() } 596.95/151.04 Weak Trs: 596.95/151.04 { __(X1, X2) -> n____(X1, X2) 596.95/151.04 , nil() -> n__nil() 596.95/151.04 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 596.95/151.04 , U12(tt(), V) -> U13(isNeList(activate(V))) 596.95/151.04 , isPalListKind(n__nil()) -> tt() 596.95/151.04 , isPalListKind(n____(V1, V2)) -> 596.95/151.04 U91(isPalListKind(activate(V1)), activate(V2)) 596.95/151.04 , isPalListKind(n__a()) -> tt() 596.95/151.04 , isPalListKind(n__e()) -> tt() 596.95/151.04 , isPalListKind(n__i()) -> tt() 596.95/151.04 , isPalListKind(n__o()) -> tt() 596.95/151.04 , isPalListKind(n__u()) -> tt() 596.95/151.04 , activate(X) -> X 596.95/151.04 , activate(n__nil()) -> nil() 596.95/151.04 , activate(n____(X1, X2)) -> __(X1, X2) 596.95/151.04 , activate(n__a()) -> a() 596.95/151.04 , activate(n__e()) -> e() 596.95/151.04 , activate(n__i()) -> i() 596.95/151.04 , activate(n__o()) -> o() 596.95/151.04 , activate(n__u()) -> u() 596.95/151.04 , U13(tt()) -> tt() 596.95/151.04 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 596.95/151.04 , isNeList(n____(V1, V2)) -> 596.95/151.04 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.04 , isNeList(n____(V1, V2)) -> 596.95/151.04 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.04 , U21(tt(), V1, V2) -> 596.95/151.04 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.04 , U22(tt(), V1, V2) -> 596.95/151.04 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.04 , U23(tt(), V1, V2) -> 596.95/151.04 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.04 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 596.95/151.04 , U25(tt(), V2) -> U26(isList(activate(V2))) 596.95/151.04 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 596.95/151.04 , isList(n__nil()) -> tt() 596.95/151.04 , isList(n____(V1, V2)) -> 596.95/151.04 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.04 , U26(tt()) -> tt() 596.95/151.04 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 596.95/151.04 , U32(tt(), V) -> U33(isQid(activate(V))) 596.95/151.04 , U33(tt()) -> tt() 596.95/151.04 , isQid(n__a()) -> tt() 596.95/151.04 , isQid(n__e()) -> tt() 596.95/151.04 , isQid(n__i()) -> tt() 596.95/151.04 , isQid(n__o()) -> tt() 596.95/151.04 , isQid(n__u()) -> tt() 596.95/151.04 , U41(tt(), V1, V2) -> 596.95/151.04 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.04 , U42(tt(), V1, V2) -> 596.95/151.04 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.04 , U43(tt(), V1, V2) -> 596.95/151.04 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.04 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 596.95/151.04 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 596.95/151.04 , U46(tt()) -> tt() 596.95/151.04 , U51(tt(), V1, V2) -> 596.95/151.04 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.04 , U52(tt(), V1, V2) -> 596.95/151.04 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.04 , U53(tt(), V1, V2) -> 596.95/151.04 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.04 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 596.95/151.04 , U55(tt(), V2) -> U56(isList(activate(V2))) 596.95/151.04 , U56(tt()) -> tt() 596.95/151.04 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 596.95/151.04 , U62(tt(), V) -> U63(isQid(activate(V))) 596.95/151.04 , U63(tt()) -> tt() 596.95/151.04 , U71(tt(), I, P) -> U72(isPalListKind(activate(I)), activate(P)) 596.95/151.04 , U72(tt(), P) -> U73(isPal(activate(P)), activate(P)) 596.95/151.04 , U73(tt(), P) -> U74(isPalListKind(activate(P))) 596.95/151.04 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 596.95/151.04 , isPal(n__nil()) -> tt() 596.95/151.04 , U74(tt()) -> tt() 596.95/151.04 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 596.95/151.04 , U82(tt(), V) -> U83(isNePal(activate(V))) 596.95/151.04 , U83(tt()) -> tt() 596.95/151.04 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 596.95/151.04 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 596.95/151.04 , U92(tt()) -> tt() 596.95/151.04 , a() -> n__a() 596.95/151.04 , e() -> n__e() 596.95/151.04 , i() -> n__i() 596.95/151.04 , o() -> n__o() 596.95/151.04 , u() -> n__u() } 596.95/151.04 Obligation: 596.95/151.04 innermost runtime complexity 596.95/151.04 Answer: 596.95/151.04 YES(O(1),O(n^2)) 596.95/151.04 596.95/151.04 We estimate the number of application of {4,5,6,7,8,9,10} by 596.95/151.04 applications of Pre({4,5,6,7,8,9,10}) = 596.95/151.04 {1,2,3,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42}. 596.95/151.04 Here rules are labeled as follows: 596.95/151.04 596.95/151.04 DPs: 596.95/151.04 { 1: U11^#(tt(), V) -> 596.95/151.04 c_3(U12^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , 2: U12^#(tt(), V) -> 596.95/151.04 c_4(U13^#(isNeList(activate(V))), 596.95/151.04 isNeList^#(activate(V)), 596.95/151.04 activate^#(V)) 596.95/151.04 , 3: isPalListKind^#(n____(V1, V2)) -> 596.95/151.04 c_6(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.04 isPalListKind^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 4: activate^#(n__nil()) -> c_13(nil^#()) 596.95/151.04 , 5: activate^#(n____(X1, X2)) -> c_14(__^#(X1, X2)) 596.95/151.04 , 6: activate^#(n__a()) -> c_15(a^#()) 596.95/151.04 , 7: activate^#(n__e()) -> c_16(e^#()) 596.95/151.04 , 8: activate^#(n__i()) -> c_17(i^#()) 596.95/151.04 , 9: activate^#(n__o()) -> c_18(o^#()) 596.95/151.04 , 10: activate^#(n__u()) -> c_19(u^#()) 596.95/151.04 , 11: isNeList^#(V) -> 596.95/151.04 c_21(U31^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , 12: isNeList^#(n____(V1, V2)) -> 596.95/151.04 c_22(U41^#(isPalListKind(activate(V1)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 13: isNeList^#(n____(V1, V2)) -> 596.95/151.04 c_23(U51^#(isPalListKind(activate(V1)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 14: U91^#(tt(), V2) -> 596.95/151.04 c_66(U92^#(isPalListKind(activate(V2))), 596.95/151.04 isPalListKind^#(activate(V2)), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 15: U31^#(tt(), V) -> 596.95/151.04 c_33(U32^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , 16: U41^#(tt(), V1, V2) -> 596.95/151.04 c_41(U42^#(isPalListKind(activate(V1)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 17: U51^#(tt(), V1, V2) -> 596.95/151.04 c_47(U52^#(isPalListKind(activate(V1)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 18: U21^#(tt(), V1, V2) -> 596.95/151.04 c_24(U22^#(isPalListKind(activate(V1)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 19: U22^#(tt(), V1, V2) -> 596.95/151.04 c_25(U23^#(isPalListKind(activate(V2)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V2)), 596.95/151.04 activate^#(V2), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 20: U23^#(tt(), V1, V2) -> 596.95/151.04 c_26(U24^#(isPalListKind(activate(V2)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V2)), 596.95/151.04 activate^#(V2), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 21: U24^#(tt(), V1, V2) -> 596.95/151.04 c_27(U25^#(isList(activate(V1)), activate(V2)), 596.95/151.04 isList^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 22: U25^#(tt(), V2) -> 596.95/151.04 c_28(U26^#(isList(activate(V2))), 596.95/151.04 isList^#(activate(V2)), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 23: isList^#(V) -> 596.95/151.04 c_29(U11^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , 24: isList^#(n____(V1, V2)) -> 596.95/151.04 c_31(U21^#(isPalListKind(activate(V1)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 25: U32^#(tt(), V) -> 596.95/151.04 c_34(U33^#(isQid(activate(V))), 596.95/151.04 isQid^#(activate(V)), 596.95/151.04 activate^#(V)) 596.95/151.04 , 26: U42^#(tt(), V1, V2) -> 596.95/151.04 c_42(U43^#(isPalListKind(activate(V2)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V2)), 596.95/151.04 activate^#(V2), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 27: U43^#(tt(), V1, V2) -> 596.95/151.04 c_43(U44^#(isPalListKind(activate(V2)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V2)), 596.95/151.04 activate^#(V2), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 28: U44^#(tt(), V1, V2) -> 596.95/151.04 c_44(U45^#(isList(activate(V1)), activate(V2)), 596.95/151.04 isList^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 29: U45^#(tt(), V2) -> 596.95/151.04 c_45(U46^#(isNeList(activate(V2))), 596.95/151.04 isNeList^#(activate(V2)), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 30: U52^#(tt(), V1, V2) -> 596.95/151.04 c_48(U53^#(isPalListKind(activate(V2)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V2)), 596.95/151.04 activate^#(V2), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 31: U53^#(tt(), V1, V2) -> 596.95/151.04 c_49(U54^#(isPalListKind(activate(V2)), 596.95/151.04 activate(V1), 596.95/151.04 activate(V2)), 596.95/151.04 isPalListKind^#(activate(V2)), 596.95/151.04 activate^#(V2), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 32: U54^#(tt(), V1, V2) -> 596.95/151.04 c_50(U55^#(isNeList(activate(V1)), activate(V2)), 596.95/151.04 isNeList^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 33: U55^#(tt(), V2) -> 596.95/151.04 c_51(U56^#(isList(activate(V2))), 596.95/151.04 isList^#(activate(V2)), 596.95/151.04 activate^#(V2)) 596.95/151.04 , 34: U61^#(tt(), V) -> 596.95/151.04 c_53(U62^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , 35: U62^#(tt(), V) -> 596.95/151.04 c_54(U63^#(isQid(activate(V))), 596.95/151.04 isQid^#(activate(V)), 596.95/151.04 activate^#(V)) 596.95/151.04 , 36: U71^#(tt(), I, P) -> 596.95/151.04 c_56(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.04 isPalListKind^#(activate(I)), 596.95/151.04 activate^#(I), 596.95/151.04 activate^#(P)) 596.95/151.04 , 37: U72^#(tt(), P) -> 596.95/151.04 c_57(U73^#(isPal(activate(P)), activate(P)), 596.95/151.04 isPal^#(activate(P)), 596.95/151.04 activate^#(P), 596.95/151.04 activate^#(P)) 596.95/151.04 , 38: U73^#(tt(), P) -> 596.95/151.04 c_58(U74^#(isPalListKind(activate(P))), 596.95/151.04 isPalListKind^#(activate(P)), 596.95/151.04 activate^#(P)) 596.95/151.04 , 39: isPal^#(V) -> 596.95/151.04 c_59(U81^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , 40: U81^#(tt(), V) -> 596.95/151.04 c_62(U82^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , 41: U82^#(tt(), V) -> 596.95/151.04 c_63(U83^#(isNePal(activate(V))), 596.95/151.04 isNePal^#(activate(V)), 596.95/151.04 activate^#(V)) 596.95/151.04 , 42: isNePal^#(V) -> 596.95/151.04 c_65(U61^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , 43: __^#(X1, X2) -> c_1() 596.95/151.04 , 44: nil^#() -> c_2() 596.95/151.04 , 45: isPalListKind^#(n__nil()) -> c_5() 596.95/151.04 , 46: isPalListKind^#(n__a()) -> c_7() 596.95/151.04 , 47: isPalListKind^#(n__e()) -> c_8() 596.95/151.04 , 48: isPalListKind^#(n__i()) -> c_9() 596.95/151.04 , 49: isPalListKind^#(n__o()) -> c_10() 596.95/151.04 , 50: isPalListKind^#(n__u()) -> c_11() 596.95/151.04 , 51: activate^#(X) -> c_12() 596.95/151.04 , 52: U13^#(tt()) -> c_20() 596.95/151.04 , 53: a^#() -> c_68() 596.95/151.04 , 54: e^#() -> c_69() 596.95/151.04 , 55: i^#() -> c_70() 596.95/151.04 , 56: o^#() -> c_71() 596.95/151.04 , 57: u^#() -> c_72() 596.95/151.04 , 58: isList^#(n__nil()) -> c_30() 596.95/151.04 , 59: U26^#(tt()) -> c_32() 596.95/151.04 , 60: U33^#(tt()) -> c_35() 596.95/151.04 , 61: isQid^#(n__a()) -> c_36() 596.95/151.04 , 62: isQid^#(n__e()) -> c_37() 596.95/151.04 , 63: isQid^#(n__i()) -> c_38() 596.95/151.04 , 64: isQid^#(n__o()) -> c_39() 596.95/151.04 , 65: isQid^#(n__u()) -> c_40() 596.95/151.04 , 66: U46^#(tt()) -> c_46() 596.95/151.04 , 67: U56^#(tt()) -> c_52() 596.95/151.04 , 68: U63^#(tt()) -> c_55() 596.95/151.04 , 69: isPal^#(n__nil()) -> c_60() 596.95/151.04 , 70: U74^#(tt()) -> c_61() 596.95/151.04 , 71: U83^#(tt()) -> c_64() 596.95/151.04 , 72: U92^#(tt()) -> c_67() } 596.95/151.04 596.95/151.04 We are left with following problem, upon which TcT provides the 596.95/151.04 certificate YES(O(1),O(n^2)). 596.95/151.04 596.95/151.04 Strict DPs: 596.95/151.04 { U11^#(tt(), V) -> 596.95/151.04 c_3(U12^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , U12^#(tt(), V) -> 596.95/151.04 c_4(U13^#(isNeList(activate(V))), 596.95/151.04 isNeList^#(activate(V)), 596.95/151.04 activate^#(V)) 596.95/151.04 , isPalListKind^#(n____(V1, V2)) -> 596.95/151.04 c_6(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.04 isPalListKind^#(activate(V1)), 596.95/151.04 activate^#(V1), 596.95/151.04 activate^#(V2)) 596.95/151.04 , isNeList^#(V) -> 596.95/151.04 c_21(U31^#(isPalListKind(activate(V)), activate(V)), 596.95/151.04 isPalListKind^#(activate(V)), 596.95/151.04 activate^#(V), 596.95/151.04 activate^#(V)) 596.95/151.04 , isNeList^#(n____(V1, V2)) -> 596.95/151.04 c_22(U41^#(isPalListKind(activate(V1)), 596.95/151.04 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , isNeList^#(n____(V1, V2)) -> 596.95/151.05 c_23(U51^#(isPalListKind(activate(V1)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U91^#(tt(), V2) -> 596.95/151.05 c_66(U92^#(isPalListKind(activate(V2))), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U31^#(tt(), V) -> 596.95/151.05 c_33(U32^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) 596.95/151.05 , U41^#(tt(), V1, V2) -> 596.95/151.05 c_41(U42^#(isPalListKind(activate(V1)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U51^#(tt(), V1, V2) -> 596.95/151.05 c_47(U52^#(isPalListKind(activate(V1)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U21^#(tt(), V1, V2) -> 596.95/151.05 c_24(U22^#(isPalListKind(activate(V1)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U22^#(tt(), V1, V2) -> 596.95/151.05 c_25(U23^#(isPalListKind(activate(V2)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U23^#(tt(), V1, V2) -> 596.95/151.05 c_26(U24^#(isPalListKind(activate(V2)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U24^#(tt(), V1, V2) -> 596.95/151.05 c_27(U25^#(isList(activate(V1)), activate(V2)), 596.95/151.05 isList^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U25^#(tt(), V2) -> 596.95/151.05 c_28(U26^#(isList(activate(V2))), 596.95/151.05 isList^#(activate(V2)), 596.95/151.05 activate^#(V2)) 596.95/151.05 , isList^#(V) -> 596.95/151.05 c_29(U11^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) 596.95/151.05 , isList^#(n____(V1, V2)) -> 596.95/151.05 c_31(U21^#(isPalListKind(activate(V1)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U32^#(tt(), V) -> 596.95/151.05 c_34(U33^#(isQid(activate(V))), 596.95/151.05 isQid^#(activate(V)), 596.95/151.05 activate^#(V)) 596.95/151.05 , U42^#(tt(), V1, V2) -> 596.95/151.05 c_42(U43^#(isPalListKind(activate(V2)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U43^#(tt(), V1, V2) -> 596.95/151.05 c_43(U44^#(isPalListKind(activate(V2)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U44^#(tt(), V1, V2) -> 596.95/151.05 c_44(U45^#(isList(activate(V1)), activate(V2)), 596.95/151.05 isList^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U45^#(tt(), V2) -> 596.95/151.05 c_45(U46^#(isNeList(activate(V2))), 596.95/151.05 isNeList^#(activate(V2)), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U52^#(tt(), V1, V2) -> 596.95/151.05 c_48(U53^#(isPalListKind(activate(V2)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U53^#(tt(), V1, V2) -> 596.95/151.05 c_49(U54^#(isPalListKind(activate(V2)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U54^#(tt(), V1, V2) -> 596.95/151.05 c_50(U55^#(isNeList(activate(V1)), activate(V2)), 596.95/151.05 isNeList^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U55^#(tt(), V2) -> 596.95/151.05 c_51(U56^#(isList(activate(V2))), 596.95/151.05 isList^#(activate(V2)), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U61^#(tt(), V) -> 596.95/151.05 c_53(U62^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) 596.95/151.05 , U62^#(tt(), V) -> 596.95/151.05 c_54(U63^#(isQid(activate(V))), 596.95/151.05 isQid^#(activate(V)), 596.95/151.05 activate^#(V)) 596.95/151.05 , U71^#(tt(), I, P) -> 596.95/151.05 c_56(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.05 isPalListKind^#(activate(I)), 596.95/151.05 activate^#(I), 596.95/151.05 activate^#(P)) 596.95/151.05 , U72^#(tt(), P) -> 596.95/151.05 c_57(U73^#(isPal(activate(P)), activate(P)), 596.95/151.05 isPal^#(activate(P)), 596.95/151.05 activate^#(P), 596.95/151.05 activate^#(P)) 596.95/151.05 , U73^#(tt(), P) -> 596.95/151.05 c_58(U74^#(isPalListKind(activate(P))), 596.95/151.05 isPalListKind^#(activate(P)), 596.95/151.05 activate^#(P)) 596.95/151.05 , isPal^#(V) -> 596.95/151.05 c_59(U81^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) 596.95/151.05 , U81^#(tt(), V) -> 596.95/151.05 c_62(U82^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) 596.95/151.05 , U82^#(tt(), V) -> 596.95/151.05 c_63(U83^#(isNePal(activate(V))), 596.95/151.05 isNePal^#(activate(V)), 596.95/151.05 activate^#(V)) 596.95/151.05 , isNePal^#(V) -> 596.95/151.05 c_65(U61^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) } 596.95/151.05 Weak DPs: 596.95/151.05 { __^#(X1, X2) -> c_1() 596.95/151.05 , nil^#() -> c_2() 596.95/151.05 , isPalListKind^#(n__nil()) -> c_5() 596.95/151.05 , isPalListKind^#(n__a()) -> c_7() 596.95/151.05 , isPalListKind^#(n__e()) -> c_8() 596.95/151.05 , isPalListKind^#(n__i()) -> c_9() 596.95/151.05 , isPalListKind^#(n__o()) -> c_10() 596.95/151.05 , isPalListKind^#(n__u()) -> c_11() 596.95/151.05 , activate^#(X) -> c_12() 596.95/151.05 , activate^#(n__nil()) -> c_13(nil^#()) 596.95/151.05 , activate^#(n____(X1, X2)) -> c_14(__^#(X1, X2)) 596.95/151.05 , activate^#(n__a()) -> c_15(a^#()) 596.95/151.05 , activate^#(n__e()) -> c_16(e^#()) 596.95/151.05 , activate^#(n__i()) -> c_17(i^#()) 596.95/151.05 , activate^#(n__o()) -> c_18(o^#()) 596.95/151.05 , activate^#(n__u()) -> c_19(u^#()) 596.95/151.05 , U13^#(tt()) -> c_20() 596.95/151.05 , a^#() -> c_68() 596.95/151.05 , e^#() -> c_69() 596.95/151.05 , i^#() -> c_70() 596.95/151.05 , o^#() -> c_71() 596.95/151.05 , u^#() -> c_72() 596.95/151.05 , isList^#(n__nil()) -> c_30() 596.95/151.05 , U26^#(tt()) -> c_32() 596.95/151.05 , U33^#(tt()) -> c_35() 596.95/151.05 , isQid^#(n__a()) -> c_36() 596.95/151.05 , isQid^#(n__e()) -> c_37() 596.95/151.05 , isQid^#(n__i()) -> c_38() 596.95/151.05 , isQid^#(n__o()) -> c_39() 596.95/151.05 , isQid^#(n__u()) -> c_40() 596.95/151.05 , U46^#(tt()) -> c_46() 596.95/151.05 , U56^#(tt()) -> c_52() 596.95/151.05 , U63^#(tt()) -> c_55() 596.95/151.05 , isPal^#(n__nil()) -> c_60() 596.95/151.05 , U74^#(tt()) -> c_61() 596.95/151.05 , U83^#(tt()) -> c_64() 596.95/151.05 , U92^#(tt()) -> c_67() } 596.95/151.05 Weak Trs: 596.95/151.05 { __(X1, X2) -> n____(X1, X2) 596.95/151.05 , nil() -> n__nil() 596.95/151.05 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 596.95/151.05 , U12(tt(), V) -> U13(isNeList(activate(V))) 596.95/151.05 , isPalListKind(n__nil()) -> tt() 596.95/151.05 , isPalListKind(n____(V1, V2)) -> 596.95/151.05 U91(isPalListKind(activate(V1)), activate(V2)) 596.95/151.05 , isPalListKind(n__a()) -> tt() 596.95/151.05 , isPalListKind(n__e()) -> tt() 596.95/151.05 , isPalListKind(n__i()) -> tt() 596.95/151.05 , isPalListKind(n__o()) -> tt() 596.95/151.05 , isPalListKind(n__u()) -> tt() 596.95/151.05 , activate(X) -> X 596.95/151.05 , activate(n__nil()) -> nil() 596.95/151.05 , activate(n____(X1, X2)) -> __(X1, X2) 596.95/151.05 , activate(n__a()) -> a() 596.95/151.05 , activate(n__e()) -> e() 596.95/151.05 , activate(n__i()) -> i() 596.95/151.05 , activate(n__o()) -> o() 596.95/151.05 , activate(n__u()) -> u() 596.95/151.05 , U13(tt()) -> tt() 596.95/151.05 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 596.95/151.05 , isNeList(n____(V1, V2)) -> 596.95/151.05 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.05 , isNeList(n____(V1, V2)) -> 596.95/151.05 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.05 , U21(tt(), V1, V2) -> 596.95/151.05 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.05 , U22(tt(), V1, V2) -> 596.95/151.05 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.05 , U23(tt(), V1, V2) -> 596.95/151.05 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.05 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 596.95/151.05 , U25(tt(), V2) -> U26(isList(activate(V2))) 596.95/151.05 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 596.95/151.05 , isList(n__nil()) -> tt() 596.95/151.05 , isList(n____(V1, V2)) -> 596.95/151.05 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.05 , U26(tt()) -> tt() 596.95/151.05 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 596.95/151.05 , U32(tt(), V) -> U33(isQid(activate(V))) 596.95/151.05 , U33(tt()) -> tt() 596.95/151.05 , isQid(n__a()) -> tt() 596.95/151.05 , isQid(n__e()) -> tt() 596.95/151.05 , isQid(n__i()) -> tt() 596.95/151.05 , isQid(n__o()) -> tt() 596.95/151.05 , isQid(n__u()) -> tt() 596.95/151.05 , U41(tt(), V1, V2) -> 596.95/151.05 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.05 , U42(tt(), V1, V2) -> 596.95/151.05 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.05 , U43(tt(), V1, V2) -> 596.95/151.05 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.05 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 596.95/151.05 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 596.95/151.05 , U46(tt()) -> tt() 596.95/151.05 , U51(tt(), V1, V2) -> 596.95/151.05 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.05 , U52(tt(), V1, V2) -> 596.95/151.05 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.05 , U53(tt(), V1, V2) -> 596.95/151.05 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.05 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 596.95/151.05 , U55(tt(), V2) -> U56(isList(activate(V2))) 596.95/151.05 , U56(tt()) -> tt() 596.95/151.05 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 596.95/151.05 , U62(tt(), V) -> U63(isQid(activate(V))) 596.95/151.05 , U63(tt()) -> tt() 596.95/151.05 , U71(tt(), I, P) -> U72(isPalListKind(activate(I)), activate(P)) 596.95/151.05 , U72(tt(), P) -> U73(isPal(activate(P)), activate(P)) 596.95/151.05 , U73(tt(), P) -> U74(isPalListKind(activate(P))) 596.95/151.05 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 596.95/151.05 , isPal(n__nil()) -> tt() 596.95/151.05 , U74(tt()) -> tt() 596.95/151.05 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 596.95/151.05 , U82(tt(), V) -> U83(isNePal(activate(V))) 596.95/151.05 , U83(tt()) -> tt() 596.95/151.05 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 596.95/151.05 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 596.95/151.05 , U92(tt()) -> tt() 596.95/151.05 , a() -> n__a() 596.95/151.05 , e() -> n__e() 596.95/151.05 , i() -> n__i() 596.95/151.05 , o() -> n__o() 596.95/151.05 , u() -> n__u() } 596.95/151.05 Obligation: 596.95/151.05 innermost runtime complexity 596.95/151.05 Answer: 596.95/151.05 YES(O(1),O(n^2)) 596.95/151.05 596.95/151.05 We estimate the number of application of {18,28} by applications of 596.95/151.05 Pre({18,28}) = {8,27}. Here rules are labeled as follows: 596.95/151.05 596.95/151.05 DPs: 596.95/151.05 { 1: U11^#(tt(), V) -> 596.95/151.05 c_3(U12^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) 596.95/151.05 , 2: U12^#(tt(), V) -> 596.95/151.05 c_4(U13^#(isNeList(activate(V))), 596.95/151.05 isNeList^#(activate(V)), 596.95/151.05 activate^#(V)) 596.95/151.05 , 3: isPalListKind^#(n____(V1, V2)) -> 596.95/151.05 c_6(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 4: isNeList^#(V) -> 596.95/151.05 c_21(U31^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) 596.95/151.05 , 5: isNeList^#(n____(V1, V2)) -> 596.95/151.05 c_22(U41^#(isPalListKind(activate(V1)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 6: isNeList^#(n____(V1, V2)) -> 596.95/151.05 c_23(U51^#(isPalListKind(activate(V1)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 7: U91^#(tt(), V2) -> 596.95/151.05 c_66(U92^#(isPalListKind(activate(V2))), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 8: U31^#(tt(), V) -> 596.95/151.05 c_33(U32^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) 596.95/151.05 , 9: U41^#(tt(), V1, V2) -> 596.95/151.05 c_41(U42^#(isPalListKind(activate(V1)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 10: U51^#(tt(), V1, V2) -> 596.95/151.05 c_47(U52^#(isPalListKind(activate(V1)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 11: U21^#(tt(), V1, V2) -> 596.95/151.05 c_24(U22^#(isPalListKind(activate(V1)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 12: U22^#(tt(), V1, V2) -> 596.95/151.05 c_25(U23^#(isPalListKind(activate(V2)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 13: U23^#(tt(), V1, V2) -> 596.95/151.05 c_26(U24^#(isPalListKind(activate(V2)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 14: U24^#(tt(), V1, V2) -> 596.95/151.05 c_27(U25^#(isList(activate(V1)), activate(V2)), 596.95/151.05 isList^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 15: U25^#(tt(), V2) -> 596.95/151.05 c_28(U26^#(isList(activate(V2))), 596.95/151.05 isList^#(activate(V2)), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 16: isList^#(V) -> 596.95/151.05 c_29(U11^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) 596.95/151.05 , 17: isList^#(n____(V1, V2)) -> 596.95/151.05 c_31(U21^#(isPalListKind(activate(V1)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 18: U32^#(tt(), V) -> 596.95/151.05 c_34(U33^#(isQid(activate(V))), 596.95/151.05 isQid^#(activate(V)), 596.95/151.05 activate^#(V)) 596.95/151.05 , 19: U42^#(tt(), V1, V2) -> 596.95/151.05 c_42(U43^#(isPalListKind(activate(V2)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 20: U43^#(tt(), V1, V2) -> 596.95/151.05 c_43(U44^#(isPalListKind(activate(V2)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 21: U44^#(tt(), V1, V2) -> 596.95/151.05 c_44(U45^#(isList(activate(V1)), activate(V2)), 596.95/151.05 isList^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 22: U45^#(tt(), V2) -> 596.95/151.05 c_45(U46^#(isNeList(activate(V2))), 596.95/151.05 isNeList^#(activate(V2)), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 23: U52^#(tt(), V1, V2) -> 596.95/151.05 c_48(U53^#(isPalListKind(activate(V2)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 24: U53^#(tt(), V1, V2) -> 596.95/151.05 c_49(U54^#(isPalListKind(activate(V2)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 25: U54^#(tt(), V1, V2) -> 596.95/151.05 c_50(U55^#(isNeList(activate(V1)), activate(V2)), 596.95/151.05 isNeList^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 26: U55^#(tt(), V2) -> 596.95/151.05 c_51(U56^#(isList(activate(V2))), 596.95/151.05 isList^#(activate(V2)), 596.95/151.05 activate^#(V2)) 596.95/151.05 , 27: U61^#(tt(), V) -> 596.95/151.05 c_53(U62^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) 596.95/151.05 , 28: U62^#(tt(), V) -> 596.95/151.05 c_54(U63^#(isQid(activate(V))), 596.95/151.05 isQid^#(activate(V)), 596.95/151.05 activate^#(V)) 596.95/151.05 , 29: U71^#(tt(), I, P) -> 596.95/151.05 c_56(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.05 isPalListKind^#(activate(I)), 596.95/151.05 activate^#(I), 596.95/151.05 activate^#(P)) 596.95/151.05 , 30: U72^#(tt(), P) -> 596.95/151.05 c_57(U73^#(isPal(activate(P)), activate(P)), 596.95/151.05 isPal^#(activate(P)), 596.95/151.05 activate^#(P), 596.95/151.05 activate^#(P)) 596.95/151.05 , 31: U73^#(tt(), P) -> 596.95/151.05 c_58(U74^#(isPalListKind(activate(P))), 596.95/151.05 isPalListKind^#(activate(P)), 596.95/151.05 activate^#(P)) 596.95/151.05 , 32: isPal^#(V) -> 596.95/151.05 c_59(U81^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) 596.95/151.05 , 33: U81^#(tt(), V) -> 596.95/151.05 c_62(U82^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) 596.95/151.05 , 34: U82^#(tt(), V) -> 596.95/151.05 c_63(U83^#(isNePal(activate(V))), 596.95/151.05 isNePal^#(activate(V)), 596.95/151.05 activate^#(V)) 596.95/151.05 , 35: isNePal^#(V) -> 596.95/151.05 c_65(U61^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) 596.95/151.05 , 36: __^#(X1, X2) -> c_1() 596.95/151.05 , 37: nil^#() -> c_2() 596.95/151.05 , 38: isPalListKind^#(n__nil()) -> c_5() 596.95/151.05 , 39: isPalListKind^#(n__a()) -> c_7() 596.95/151.05 , 40: isPalListKind^#(n__e()) -> c_8() 596.95/151.05 , 41: isPalListKind^#(n__i()) -> c_9() 596.95/151.05 , 42: isPalListKind^#(n__o()) -> c_10() 596.95/151.05 , 43: isPalListKind^#(n__u()) -> c_11() 596.95/151.05 , 44: activate^#(X) -> c_12() 596.95/151.05 , 45: activate^#(n__nil()) -> c_13(nil^#()) 596.95/151.05 , 46: activate^#(n____(X1, X2)) -> c_14(__^#(X1, X2)) 596.95/151.05 , 47: activate^#(n__a()) -> c_15(a^#()) 596.95/151.05 , 48: activate^#(n__e()) -> c_16(e^#()) 596.95/151.05 , 49: activate^#(n__i()) -> c_17(i^#()) 596.95/151.05 , 50: activate^#(n__o()) -> c_18(o^#()) 596.95/151.05 , 51: activate^#(n__u()) -> c_19(u^#()) 596.95/151.05 , 52: U13^#(tt()) -> c_20() 596.95/151.05 , 53: a^#() -> c_68() 596.95/151.05 , 54: e^#() -> c_69() 596.95/151.05 , 55: i^#() -> c_70() 596.95/151.05 , 56: o^#() -> c_71() 596.95/151.05 , 57: u^#() -> c_72() 596.95/151.05 , 58: isList^#(n__nil()) -> c_30() 596.95/151.05 , 59: U26^#(tt()) -> c_32() 596.95/151.05 , 60: U33^#(tt()) -> c_35() 596.95/151.05 , 61: isQid^#(n__a()) -> c_36() 596.95/151.05 , 62: isQid^#(n__e()) -> c_37() 596.95/151.05 , 63: isQid^#(n__i()) -> c_38() 596.95/151.05 , 64: isQid^#(n__o()) -> c_39() 596.95/151.05 , 65: isQid^#(n__u()) -> c_40() 596.95/151.05 , 66: U46^#(tt()) -> c_46() 596.95/151.05 , 67: U56^#(tt()) -> c_52() 596.95/151.05 , 68: U63^#(tt()) -> c_55() 596.95/151.05 , 69: isPal^#(n__nil()) -> c_60() 596.95/151.05 , 70: U74^#(tt()) -> c_61() 596.95/151.05 , 71: U83^#(tt()) -> c_64() 596.95/151.05 , 72: U92^#(tt()) -> c_67() } 596.95/151.05 596.95/151.05 We are left with following problem, upon which TcT provides the 596.95/151.05 certificate YES(O(1),O(n^2)). 596.95/151.05 596.95/151.05 Strict DPs: 596.95/151.05 { U11^#(tt(), V) -> 596.95/151.05 c_3(U12^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) 596.95/151.05 , U12^#(tt(), V) -> 596.95/151.05 c_4(U13^#(isNeList(activate(V))), 596.95/151.05 isNeList^#(activate(V)), 596.95/151.05 activate^#(V)) 596.95/151.05 , isPalListKind^#(n____(V1, V2)) -> 596.95/151.05 c_6(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , isNeList^#(V) -> 596.95/151.05 c_21(U31^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) 596.95/151.05 , isNeList^#(n____(V1, V2)) -> 596.95/151.05 c_22(U41^#(isPalListKind(activate(V1)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , isNeList^#(n____(V1, V2)) -> 596.95/151.05 c_23(U51^#(isPalListKind(activate(V1)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U91^#(tt(), V2) -> 596.95/151.05 c_66(U92^#(isPalListKind(activate(V2))), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U31^#(tt(), V) -> 596.95/151.05 c_33(U32^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) 596.95/151.05 , U41^#(tt(), V1, V2) -> 596.95/151.05 c_41(U42^#(isPalListKind(activate(V1)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U51^#(tt(), V1, V2) -> 596.95/151.05 c_47(U52^#(isPalListKind(activate(V1)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U21^#(tt(), V1, V2) -> 596.95/151.05 c_24(U22^#(isPalListKind(activate(V1)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U22^#(tt(), V1, V2) -> 596.95/151.05 c_25(U23^#(isPalListKind(activate(V2)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U23^#(tt(), V1, V2) -> 596.95/151.05 c_26(U24^#(isPalListKind(activate(V2)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U24^#(tt(), V1, V2) -> 596.95/151.05 c_27(U25^#(isList(activate(V1)), activate(V2)), 596.95/151.05 isList^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U25^#(tt(), V2) -> 596.95/151.05 c_28(U26^#(isList(activate(V2))), 596.95/151.05 isList^#(activate(V2)), 596.95/151.05 activate^#(V2)) 596.95/151.05 , isList^#(V) -> 596.95/151.05 c_29(U11^#(isPalListKind(activate(V)), activate(V)), 596.95/151.05 isPalListKind^#(activate(V)), 596.95/151.05 activate^#(V), 596.95/151.05 activate^#(V)) 596.95/151.05 , isList^#(n____(V1, V2)) -> 596.95/151.05 c_31(U21^#(isPalListKind(activate(V1)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U42^#(tt(), V1, V2) -> 596.95/151.05 c_42(U43^#(isPalListKind(activate(V2)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U43^#(tt(), V1, V2) -> 596.95/151.05 c_43(U44^#(isPalListKind(activate(V2)), 596.95/151.05 activate(V1), 596.95/151.05 activate(V2)), 596.95/151.05 isPalListKind^#(activate(V2)), 596.95/151.05 activate^#(V2), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.05 , U44^#(tt(), V1, V2) -> 596.95/151.05 c_44(U45^#(isList(activate(V1)), activate(V2)), 596.95/151.05 isList^#(activate(V1)), 596.95/151.05 activate^#(V1), 596.95/151.05 activate^#(V2)) 596.95/151.06 , U45^#(tt(), V2) -> 596.95/151.06 c_45(U46^#(isNeList(activate(V2))), 596.95/151.06 isNeList^#(activate(V2)), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U52^#(tt(), V1, V2) -> 596.95/151.06 c_48(U53^#(isPalListKind(activate(V2)), 596.95/151.06 activate(V1), 596.95/151.06 activate(V2)), 596.95/151.06 isPalListKind^#(activate(V2)), 596.95/151.06 activate^#(V2), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U53^#(tt(), V1, V2) -> 596.95/151.06 c_49(U54^#(isPalListKind(activate(V2)), 596.95/151.06 activate(V1), 596.95/151.06 activate(V2)), 596.95/151.06 isPalListKind^#(activate(V2)), 596.95/151.06 activate^#(V2), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U54^#(tt(), V1, V2) -> 596.95/151.06 c_50(U55^#(isNeList(activate(V1)), activate(V2)), 596.95/151.06 isNeList^#(activate(V1)), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U55^#(tt(), V2) -> 596.95/151.06 c_51(U56^#(isList(activate(V2))), 596.95/151.06 isList^#(activate(V2)), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U61^#(tt(), V) -> 596.95/151.06 c_53(U62^#(isPalListKind(activate(V)), activate(V)), 596.95/151.06 isPalListKind^#(activate(V)), 596.95/151.06 activate^#(V), 596.95/151.06 activate^#(V)) 596.95/151.06 , U71^#(tt(), I, P) -> 596.95/151.06 c_56(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.06 isPalListKind^#(activate(I)), 596.95/151.06 activate^#(I), 596.95/151.06 activate^#(P)) 596.95/151.06 , U72^#(tt(), P) -> 596.95/151.06 c_57(U73^#(isPal(activate(P)), activate(P)), 596.95/151.06 isPal^#(activate(P)), 596.95/151.06 activate^#(P), 596.95/151.06 activate^#(P)) 596.95/151.06 , U73^#(tt(), P) -> 596.95/151.06 c_58(U74^#(isPalListKind(activate(P))), 596.95/151.06 isPalListKind^#(activate(P)), 596.95/151.06 activate^#(P)) 596.95/151.06 , isPal^#(V) -> 596.95/151.06 c_59(U81^#(isPalListKind(activate(V)), activate(V)), 596.95/151.06 isPalListKind^#(activate(V)), 596.95/151.06 activate^#(V), 596.95/151.06 activate^#(V)) 596.95/151.06 , U81^#(tt(), V) -> 596.95/151.06 c_62(U82^#(isPalListKind(activate(V)), activate(V)), 596.95/151.06 isPalListKind^#(activate(V)), 596.95/151.06 activate^#(V), 596.95/151.06 activate^#(V)) 596.95/151.06 , U82^#(tt(), V) -> 596.95/151.06 c_63(U83^#(isNePal(activate(V))), 596.95/151.06 isNePal^#(activate(V)), 596.95/151.06 activate^#(V)) 596.95/151.06 , isNePal^#(V) -> 596.95/151.06 c_65(U61^#(isPalListKind(activate(V)), activate(V)), 596.95/151.06 isPalListKind^#(activate(V)), 596.95/151.06 activate^#(V), 596.95/151.06 activate^#(V)) } 596.95/151.06 Weak DPs: 596.95/151.06 { __^#(X1, X2) -> c_1() 596.95/151.06 , nil^#() -> c_2() 596.95/151.06 , isPalListKind^#(n__nil()) -> c_5() 596.95/151.06 , isPalListKind^#(n__a()) -> c_7() 596.95/151.06 , isPalListKind^#(n__e()) -> c_8() 596.95/151.06 , isPalListKind^#(n__i()) -> c_9() 596.95/151.06 , isPalListKind^#(n__o()) -> c_10() 596.95/151.06 , isPalListKind^#(n__u()) -> c_11() 596.95/151.06 , activate^#(X) -> c_12() 596.95/151.06 , activate^#(n__nil()) -> c_13(nil^#()) 596.95/151.06 , activate^#(n____(X1, X2)) -> c_14(__^#(X1, X2)) 596.95/151.06 , activate^#(n__a()) -> c_15(a^#()) 596.95/151.06 , activate^#(n__e()) -> c_16(e^#()) 596.95/151.06 , activate^#(n__i()) -> c_17(i^#()) 596.95/151.06 , activate^#(n__o()) -> c_18(o^#()) 596.95/151.06 , activate^#(n__u()) -> c_19(u^#()) 596.95/151.06 , U13^#(tt()) -> c_20() 596.95/151.06 , a^#() -> c_68() 596.95/151.06 , e^#() -> c_69() 596.95/151.06 , i^#() -> c_70() 596.95/151.06 , o^#() -> c_71() 596.95/151.06 , u^#() -> c_72() 596.95/151.06 , isList^#(n__nil()) -> c_30() 596.95/151.06 , U26^#(tt()) -> c_32() 596.95/151.06 , U32^#(tt(), V) -> 596.95/151.06 c_34(U33^#(isQid(activate(V))), 596.95/151.06 isQid^#(activate(V)), 596.95/151.06 activate^#(V)) 596.95/151.06 , U33^#(tt()) -> c_35() 596.95/151.06 , isQid^#(n__a()) -> c_36() 596.95/151.06 , isQid^#(n__e()) -> c_37() 596.95/151.06 , isQid^#(n__i()) -> c_38() 596.95/151.06 , isQid^#(n__o()) -> c_39() 596.95/151.06 , isQid^#(n__u()) -> c_40() 596.95/151.06 , U46^#(tt()) -> c_46() 596.95/151.06 , U56^#(tt()) -> c_52() 596.95/151.06 , U62^#(tt(), V) -> 596.95/151.06 c_54(U63^#(isQid(activate(V))), 596.95/151.06 isQid^#(activate(V)), 596.95/151.06 activate^#(V)) 596.95/151.06 , U63^#(tt()) -> c_55() 596.95/151.06 , isPal^#(n__nil()) -> c_60() 596.95/151.06 , U74^#(tt()) -> c_61() 596.95/151.06 , U83^#(tt()) -> c_64() 596.95/151.06 , U92^#(tt()) -> c_67() } 596.95/151.06 Weak Trs: 596.95/151.06 { __(X1, X2) -> n____(X1, X2) 596.95/151.06 , nil() -> n__nil() 596.95/151.06 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 596.95/151.06 , U12(tt(), V) -> U13(isNeList(activate(V))) 596.95/151.06 , isPalListKind(n__nil()) -> tt() 596.95/151.06 , isPalListKind(n____(V1, V2)) -> 596.95/151.06 U91(isPalListKind(activate(V1)), activate(V2)) 596.95/151.06 , isPalListKind(n__a()) -> tt() 596.95/151.06 , isPalListKind(n__e()) -> tt() 596.95/151.06 , isPalListKind(n__i()) -> tt() 596.95/151.06 , isPalListKind(n__o()) -> tt() 596.95/151.06 , isPalListKind(n__u()) -> tt() 596.95/151.06 , activate(X) -> X 596.95/151.06 , activate(n__nil()) -> nil() 596.95/151.06 , activate(n____(X1, X2)) -> __(X1, X2) 596.95/151.06 , activate(n__a()) -> a() 596.95/151.06 , activate(n__e()) -> e() 596.95/151.06 , activate(n__i()) -> i() 596.95/151.06 , activate(n__o()) -> o() 596.95/151.06 , activate(n__u()) -> u() 596.95/151.06 , U13(tt()) -> tt() 596.95/151.06 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 596.95/151.06 , isNeList(n____(V1, V2)) -> 596.95/151.06 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.06 , isNeList(n____(V1, V2)) -> 596.95/151.06 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.06 , U21(tt(), V1, V2) -> 596.95/151.06 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.06 , U22(tt(), V1, V2) -> 596.95/151.06 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.06 , U23(tt(), V1, V2) -> 596.95/151.06 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.06 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 596.95/151.06 , U25(tt(), V2) -> U26(isList(activate(V2))) 596.95/151.06 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 596.95/151.06 , isList(n__nil()) -> tt() 596.95/151.06 , isList(n____(V1, V2)) -> 596.95/151.06 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.06 , U26(tt()) -> tt() 596.95/151.06 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 596.95/151.06 , U32(tt(), V) -> U33(isQid(activate(V))) 596.95/151.06 , U33(tt()) -> tt() 596.95/151.06 , isQid(n__a()) -> tt() 596.95/151.06 , isQid(n__e()) -> tt() 596.95/151.06 , isQid(n__i()) -> tt() 596.95/151.06 , isQid(n__o()) -> tt() 596.95/151.06 , isQid(n__u()) -> tt() 596.95/151.06 , U41(tt(), V1, V2) -> 596.95/151.06 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.06 , U42(tt(), V1, V2) -> 596.95/151.06 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.06 , U43(tt(), V1, V2) -> 596.95/151.06 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.06 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 596.95/151.06 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 596.95/151.06 , U46(tt()) -> tt() 596.95/151.06 , U51(tt(), V1, V2) -> 596.95/151.06 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.06 , U52(tt(), V1, V2) -> 596.95/151.06 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.06 , U53(tt(), V1, V2) -> 596.95/151.06 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.06 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 596.95/151.06 , U55(tt(), V2) -> U56(isList(activate(V2))) 596.95/151.06 , U56(tt()) -> tt() 596.95/151.06 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 596.95/151.06 , U62(tt(), V) -> U63(isQid(activate(V))) 596.95/151.06 , U63(tt()) -> tt() 596.95/151.06 , U71(tt(), I, P) -> U72(isPalListKind(activate(I)), activate(P)) 596.95/151.06 , U72(tt(), P) -> U73(isPal(activate(P)), activate(P)) 596.95/151.06 , U73(tt(), P) -> U74(isPalListKind(activate(P))) 596.95/151.06 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 596.95/151.06 , isPal(n__nil()) -> tt() 596.95/151.06 , U74(tt()) -> tt() 596.95/151.06 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 596.95/151.06 , U82(tt(), V) -> U83(isNePal(activate(V))) 596.95/151.06 , U83(tt()) -> tt() 596.95/151.06 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 596.95/151.06 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 596.95/151.06 , U92(tt()) -> tt() 596.95/151.06 , a() -> n__a() 596.95/151.06 , e() -> n__e() 596.95/151.06 , i() -> n__i() 596.95/151.06 , o() -> n__o() 596.95/151.06 , u() -> n__u() } 596.95/151.06 Obligation: 596.95/151.06 innermost runtime complexity 596.95/151.06 Answer: 596.95/151.06 YES(O(1),O(n^2)) 596.95/151.06 596.95/151.06 The following weak DPs constitute a sub-graph of the DG that is 596.95/151.06 closed under successors. The DPs are removed. 596.95/151.06 596.95/151.06 { __^#(X1, X2) -> c_1() 596.95/151.06 , nil^#() -> c_2() 596.95/151.06 , isPalListKind^#(n__nil()) -> c_5() 596.95/151.06 , isPalListKind^#(n__a()) -> c_7() 596.95/151.06 , isPalListKind^#(n__e()) -> c_8() 596.95/151.06 , isPalListKind^#(n__i()) -> c_9() 596.95/151.06 , isPalListKind^#(n__o()) -> c_10() 596.95/151.06 , isPalListKind^#(n__u()) -> c_11() 596.95/151.06 , activate^#(X) -> c_12() 596.95/151.06 , activate^#(n__nil()) -> c_13(nil^#()) 596.95/151.06 , activate^#(n____(X1, X2)) -> c_14(__^#(X1, X2)) 596.95/151.06 , activate^#(n__a()) -> c_15(a^#()) 596.95/151.06 , activate^#(n__e()) -> c_16(e^#()) 596.95/151.06 , activate^#(n__i()) -> c_17(i^#()) 596.95/151.06 , activate^#(n__o()) -> c_18(o^#()) 596.95/151.06 , activate^#(n__u()) -> c_19(u^#()) 596.95/151.06 , U13^#(tt()) -> c_20() 596.95/151.06 , a^#() -> c_68() 596.95/151.06 , e^#() -> c_69() 596.95/151.06 , i^#() -> c_70() 596.95/151.06 , o^#() -> c_71() 596.95/151.06 , u^#() -> c_72() 596.95/151.06 , isList^#(n__nil()) -> c_30() 596.95/151.06 , U26^#(tt()) -> c_32() 596.95/151.06 , U32^#(tt(), V) -> 596.95/151.06 c_34(U33^#(isQid(activate(V))), 596.95/151.06 isQid^#(activate(V)), 596.95/151.06 activate^#(V)) 596.95/151.06 , U33^#(tt()) -> c_35() 596.95/151.06 , isQid^#(n__a()) -> c_36() 596.95/151.06 , isQid^#(n__e()) -> c_37() 596.95/151.06 , isQid^#(n__i()) -> c_38() 596.95/151.06 , isQid^#(n__o()) -> c_39() 596.95/151.06 , isQid^#(n__u()) -> c_40() 596.95/151.06 , U46^#(tt()) -> c_46() 596.95/151.06 , U56^#(tt()) -> c_52() 596.95/151.06 , U62^#(tt(), V) -> 596.95/151.06 c_54(U63^#(isQid(activate(V))), 596.95/151.06 isQid^#(activate(V)), 596.95/151.06 activate^#(V)) 596.95/151.06 , U63^#(tt()) -> c_55() 596.95/151.06 , isPal^#(n__nil()) -> c_60() 596.95/151.06 , U74^#(tt()) -> c_61() 596.95/151.06 , U83^#(tt()) -> c_64() 596.95/151.06 , U92^#(tt()) -> c_67() } 596.95/151.06 596.95/151.06 We are left with following problem, upon which TcT provides the 596.95/151.06 certificate YES(O(1),O(n^2)). 596.95/151.06 596.95/151.06 Strict DPs: 596.95/151.06 { U11^#(tt(), V) -> 596.95/151.06 c_3(U12^#(isPalListKind(activate(V)), activate(V)), 596.95/151.06 isPalListKind^#(activate(V)), 596.95/151.06 activate^#(V), 596.95/151.06 activate^#(V)) 596.95/151.06 , U12^#(tt(), V) -> 596.95/151.06 c_4(U13^#(isNeList(activate(V))), 596.95/151.06 isNeList^#(activate(V)), 596.95/151.06 activate^#(V)) 596.95/151.06 , isPalListKind^#(n____(V1, V2)) -> 596.95/151.06 c_6(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.06 isPalListKind^#(activate(V1)), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , isNeList^#(V) -> 596.95/151.06 c_21(U31^#(isPalListKind(activate(V)), activate(V)), 596.95/151.06 isPalListKind^#(activate(V)), 596.95/151.06 activate^#(V), 596.95/151.06 activate^#(V)) 596.95/151.06 , isNeList^#(n____(V1, V2)) -> 596.95/151.06 c_22(U41^#(isPalListKind(activate(V1)), 596.95/151.06 activate(V1), 596.95/151.06 activate(V2)), 596.95/151.06 isPalListKind^#(activate(V1)), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , isNeList^#(n____(V1, V2)) -> 596.95/151.06 c_23(U51^#(isPalListKind(activate(V1)), 596.95/151.06 activate(V1), 596.95/151.06 activate(V2)), 596.95/151.06 isPalListKind^#(activate(V1)), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U91^#(tt(), V2) -> 596.95/151.06 c_66(U92^#(isPalListKind(activate(V2))), 596.95/151.06 isPalListKind^#(activate(V2)), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U31^#(tt(), V) -> 596.95/151.06 c_33(U32^#(isPalListKind(activate(V)), activate(V)), 596.95/151.06 isPalListKind^#(activate(V)), 596.95/151.06 activate^#(V), 596.95/151.06 activate^#(V)) 596.95/151.06 , U41^#(tt(), V1, V2) -> 596.95/151.06 c_41(U42^#(isPalListKind(activate(V1)), 596.95/151.06 activate(V1), 596.95/151.06 activate(V2)), 596.95/151.06 isPalListKind^#(activate(V1)), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U51^#(tt(), V1, V2) -> 596.95/151.06 c_47(U52^#(isPalListKind(activate(V1)), 596.95/151.06 activate(V1), 596.95/151.06 activate(V2)), 596.95/151.06 isPalListKind^#(activate(V1)), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U21^#(tt(), V1, V2) -> 596.95/151.06 c_24(U22^#(isPalListKind(activate(V1)), 596.95/151.06 activate(V1), 596.95/151.06 activate(V2)), 596.95/151.06 isPalListKind^#(activate(V1)), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U22^#(tt(), V1, V2) -> 596.95/151.06 c_25(U23^#(isPalListKind(activate(V2)), 596.95/151.06 activate(V1), 596.95/151.06 activate(V2)), 596.95/151.06 isPalListKind^#(activate(V2)), 596.95/151.06 activate^#(V2), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U23^#(tt(), V1, V2) -> 596.95/151.06 c_26(U24^#(isPalListKind(activate(V2)), 596.95/151.06 activate(V1), 596.95/151.06 activate(V2)), 596.95/151.06 isPalListKind^#(activate(V2)), 596.95/151.06 activate^#(V2), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U24^#(tt(), V1, V2) -> 596.95/151.06 c_27(U25^#(isList(activate(V1)), activate(V2)), 596.95/151.06 isList^#(activate(V1)), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U25^#(tt(), V2) -> 596.95/151.06 c_28(U26^#(isList(activate(V2))), 596.95/151.06 isList^#(activate(V2)), 596.95/151.06 activate^#(V2)) 596.95/151.06 , isList^#(V) -> 596.95/151.06 c_29(U11^#(isPalListKind(activate(V)), activate(V)), 596.95/151.06 isPalListKind^#(activate(V)), 596.95/151.06 activate^#(V), 596.95/151.06 activate^#(V)) 596.95/151.06 , isList^#(n____(V1, V2)) -> 596.95/151.06 c_31(U21^#(isPalListKind(activate(V1)), 596.95/151.06 activate(V1), 596.95/151.06 activate(V2)), 596.95/151.06 isPalListKind^#(activate(V1)), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U42^#(tt(), V1, V2) -> 596.95/151.06 c_42(U43^#(isPalListKind(activate(V2)), 596.95/151.06 activate(V1), 596.95/151.06 activate(V2)), 596.95/151.06 isPalListKind^#(activate(V2)), 596.95/151.06 activate^#(V2), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U43^#(tt(), V1, V2) -> 596.95/151.06 c_43(U44^#(isPalListKind(activate(V2)), 596.95/151.06 activate(V1), 596.95/151.06 activate(V2)), 596.95/151.06 isPalListKind^#(activate(V2)), 596.95/151.06 activate^#(V2), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U44^#(tt(), V1, V2) -> 596.95/151.06 c_44(U45^#(isList(activate(V1)), activate(V2)), 596.95/151.06 isList^#(activate(V1)), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U45^#(tt(), V2) -> 596.95/151.06 c_45(U46^#(isNeList(activate(V2))), 596.95/151.06 isNeList^#(activate(V2)), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U52^#(tt(), V1, V2) -> 596.95/151.06 c_48(U53^#(isPalListKind(activate(V2)), 596.95/151.06 activate(V1), 596.95/151.06 activate(V2)), 596.95/151.06 isPalListKind^#(activate(V2)), 596.95/151.06 activate^#(V2), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U53^#(tt(), V1, V2) -> 596.95/151.06 c_49(U54^#(isPalListKind(activate(V2)), 596.95/151.06 activate(V1), 596.95/151.06 activate(V2)), 596.95/151.06 isPalListKind^#(activate(V2)), 596.95/151.06 activate^#(V2), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U54^#(tt(), V1, V2) -> 596.95/151.06 c_50(U55^#(isNeList(activate(V1)), activate(V2)), 596.95/151.06 isNeList^#(activate(V1)), 596.95/151.06 activate^#(V1), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U55^#(tt(), V2) -> 596.95/151.06 c_51(U56^#(isList(activate(V2))), 596.95/151.06 isList^#(activate(V2)), 596.95/151.06 activate^#(V2)) 596.95/151.06 , U61^#(tt(), V) -> 596.95/151.06 c_53(U62^#(isPalListKind(activate(V)), activate(V)), 596.95/151.06 isPalListKind^#(activate(V)), 596.95/151.06 activate^#(V), 596.95/151.06 activate^#(V)) 596.95/151.06 , U71^#(tt(), I, P) -> 596.95/151.06 c_56(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.06 isPalListKind^#(activate(I)), 596.95/151.06 activate^#(I), 596.95/151.06 activate^#(P)) 596.95/151.06 , U72^#(tt(), P) -> 596.95/151.06 c_57(U73^#(isPal(activate(P)), activate(P)), 596.95/151.06 isPal^#(activate(P)), 596.95/151.06 activate^#(P), 596.95/151.06 activate^#(P)) 596.95/151.06 , U73^#(tt(), P) -> 596.95/151.06 c_58(U74^#(isPalListKind(activate(P))), 596.95/151.06 isPalListKind^#(activate(P)), 596.95/151.06 activate^#(P)) 596.95/151.06 , isPal^#(V) -> 596.95/151.06 c_59(U81^#(isPalListKind(activate(V)), activate(V)), 596.95/151.06 isPalListKind^#(activate(V)), 596.95/151.06 activate^#(V), 596.95/151.06 activate^#(V)) 596.95/151.06 , U81^#(tt(), V) -> 596.95/151.06 c_62(U82^#(isPalListKind(activate(V)), activate(V)), 596.95/151.06 isPalListKind^#(activate(V)), 596.95/151.06 activate^#(V), 596.95/151.06 activate^#(V)) 596.95/151.06 , U82^#(tt(), V) -> 596.95/151.06 c_63(U83^#(isNePal(activate(V))), 596.95/151.06 isNePal^#(activate(V)), 596.95/151.06 activate^#(V)) 596.95/151.06 , isNePal^#(V) -> 596.95/151.06 c_65(U61^#(isPalListKind(activate(V)), activate(V)), 596.95/151.06 isPalListKind^#(activate(V)), 596.95/151.06 activate^#(V), 596.95/151.06 activate^#(V)) } 596.95/151.06 Weak Trs: 596.95/151.06 { __(X1, X2) -> n____(X1, X2) 596.95/151.06 , nil() -> n__nil() 596.95/151.06 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 596.95/151.06 , U12(tt(), V) -> U13(isNeList(activate(V))) 596.95/151.06 , isPalListKind(n__nil()) -> tt() 596.95/151.06 , isPalListKind(n____(V1, V2)) -> 596.95/151.06 U91(isPalListKind(activate(V1)), activate(V2)) 596.95/151.06 , isPalListKind(n__a()) -> tt() 596.95/151.06 , isPalListKind(n__e()) -> tt() 596.95/151.06 , isPalListKind(n__i()) -> tt() 596.95/151.06 , isPalListKind(n__o()) -> tt() 596.95/151.06 , isPalListKind(n__u()) -> tt() 596.95/151.06 , activate(X) -> X 596.95/151.06 , activate(n__nil()) -> nil() 596.95/151.06 , activate(n____(X1, X2)) -> __(X1, X2) 596.95/151.06 , activate(n__a()) -> a() 596.95/151.06 , activate(n__e()) -> e() 596.95/151.06 , activate(n__i()) -> i() 596.95/151.06 , activate(n__o()) -> o() 596.95/151.06 , activate(n__u()) -> u() 596.95/151.06 , U13(tt()) -> tt() 596.95/151.06 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 596.95/151.06 , isNeList(n____(V1, V2)) -> 596.95/151.06 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.06 , isNeList(n____(V1, V2)) -> 596.95/151.06 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.06 , U21(tt(), V1, V2) -> 596.95/151.06 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.06 , U22(tt(), V1, V2) -> 596.95/151.06 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.06 , U23(tt(), V1, V2) -> 596.95/151.06 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.06 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 596.95/151.06 , U25(tt(), V2) -> U26(isList(activate(V2))) 596.95/151.06 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 596.95/151.06 , isList(n__nil()) -> tt() 596.95/151.06 , isList(n____(V1, V2)) -> 596.95/151.06 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.06 , U26(tt()) -> tt() 596.95/151.06 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 596.95/151.06 , U32(tt(), V) -> U33(isQid(activate(V))) 596.95/151.06 , U33(tt()) -> tt() 596.95/151.06 , isQid(n__a()) -> tt() 596.95/151.06 , isQid(n__e()) -> tt() 596.95/151.06 , isQid(n__i()) -> tt() 596.95/151.06 , isQid(n__o()) -> tt() 596.95/151.06 , isQid(n__u()) -> tt() 596.95/151.06 , U41(tt(), V1, V2) -> 596.95/151.06 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.06 , U42(tt(), V1, V2) -> 596.95/151.06 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.06 , U43(tt(), V1, V2) -> 596.95/151.06 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.06 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 596.95/151.06 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 596.95/151.06 , U46(tt()) -> tt() 596.95/151.06 , U51(tt(), V1, V2) -> 596.95/151.06 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.06 , U52(tt(), V1, V2) -> 596.95/151.06 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.06 , U53(tt(), V1, V2) -> 596.95/151.06 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.07 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 596.95/151.07 , U55(tt(), V2) -> U56(isList(activate(V2))) 596.95/151.07 , U56(tt()) -> tt() 596.95/151.07 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , U62(tt(), V) -> U63(isQid(activate(V))) 596.95/151.07 , U63(tt()) -> tt() 596.95/151.07 , U71(tt(), I, P) -> U72(isPalListKind(activate(I)), activate(P)) 596.95/151.07 , U72(tt(), P) -> U73(isPal(activate(P)), activate(P)) 596.95/151.07 , U73(tt(), P) -> U74(isPalListKind(activate(P))) 596.95/151.07 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , isPal(n__nil()) -> tt() 596.95/151.07 , U74(tt()) -> tt() 596.95/151.07 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , U82(tt(), V) -> U83(isNePal(activate(V))) 596.95/151.07 , U83(tt()) -> tt() 596.95/151.07 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 596.95/151.07 , U92(tt()) -> tt() 596.95/151.07 , a() -> n__a() 596.95/151.07 , e() -> n__e() 596.95/151.07 , i() -> n__i() 596.95/151.07 , o() -> n__o() 596.95/151.07 , u() -> n__u() } 596.95/151.07 Obligation: 596.95/151.07 innermost runtime complexity 596.95/151.07 Answer: 596.95/151.07 YES(O(1),O(n^2)) 596.95/151.07 596.95/151.07 Due to missing edges in the dependency-graph, the right-hand sides 596.95/151.07 of following rules could be simplified: 596.95/151.07 596.95/151.07 { U11^#(tt(), V) -> 596.95/151.07 c_3(U12^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V)), 596.95/151.07 activate^#(V), 596.95/151.07 activate^#(V)) 596.95/151.07 , U12^#(tt(), V) -> 596.95/151.07 c_4(U13^#(isNeList(activate(V))), 596.95/151.07 isNeList^#(activate(V)), 596.95/151.07 activate^#(V)) 596.95/151.07 , isPalListKind^#(n____(V1, V2)) -> 596.95/151.07 c_6(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1)), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V2)) 596.95/151.07 , isNeList^#(V) -> 596.95/151.07 c_21(U31^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V)), 596.95/151.07 activate^#(V), 596.95/151.07 activate^#(V)) 596.95/151.07 , isNeList^#(n____(V1, V2)) -> 596.95/151.07 c_22(U41^#(isPalListKind(activate(V1)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1)), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V2)) 596.95/151.07 , isNeList^#(n____(V1, V2)) -> 596.95/151.07 c_23(U51^#(isPalListKind(activate(V1)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1)), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V2)) 596.95/151.07 , U91^#(tt(), V2) -> 596.95/151.07 c_66(U92^#(isPalListKind(activate(V2))), 596.95/151.07 isPalListKind^#(activate(V2)), 596.95/151.07 activate^#(V2)) 596.95/151.07 , U31^#(tt(), V) -> 596.95/151.07 c_33(U32^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V)), 596.95/151.07 activate^#(V), 596.95/151.07 activate^#(V)) 596.95/151.07 , U41^#(tt(), V1, V2) -> 596.95/151.07 c_41(U42^#(isPalListKind(activate(V1)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1)), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V2)) 596.95/151.07 , U51^#(tt(), V1, V2) -> 596.95/151.07 c_47(U52^#(isPalListKind(activate(V1)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1)), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V2)) 596.95/151.07 , U21^#(tt(), V1, V2) -> 596.95/151.07 c_24(U22^#(isPalListKind(activate(V1)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1)), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V2)) 596.95/151.07 , U22^#(tt(), V1, V2) -> 596.95/151.07 c_25(U23^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2)), 596.95/151.07 activate^#(V2), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V2)) 596.95/151.07 , U23^#(tt(), V1, V2) -> 596.95/151.07 c_26(U24^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2)), 596.95/151.07 activate^#(V2), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V2)) 596.95/151.07 , U24^#(tt(), V1, V2) -> 596.95/151.07 c_27(U25^#(isList(activate(V1)), activate(V2)), 596.95/151.07 isList^#(activate(V1)), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V2)) 596.95/151.07 , U25^#(tt(), V2) -> 596.95/151.07 c_28(U26^#(isList(activate(V2))), 596.95/151.07 isList^#(activate(V2)), 596.95/151.07 activate^#(V2)) 596.95/151.07 , isList^#(V) -> 596.95/151.07 c_29(U11^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V)), 596.95/151.07 activate^#(V), 596.95/151.07 activate^#(V)) 596.95/151.07 , isList^#(n____(V1, V2)) -> 596.95/151.07 c_31(U21^#(isPalListKind(activate(V1)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1)), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V2)) 596.95/151.07 , U42^#(tt(), V1, V2) -> 596.95/151.07 c_42(U43^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2)), 596.95/151.07 activate^#(V2), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V2)) 596.95/151.07 , U43^#(tt(), V1, V2) -> 596.95/151.07 c_43(U44^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2)), 596.95/151.07 activate^#(V2), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V2)) 596.95/151.07 , U44^#(tt(), V1, V2) -> 596.95/151.07 c_44(U45^#(isList(activate(V1)), activate(V2)), 596.95/151.07 isList^#(activate(V1)), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V2)) 596.95/151.07 , U45^#(tt(), V2) -> 596.95/151.07 c_45(U46^#(isNeList(activate(V2))), 596.95/151.07 isNeList^#(activate(V2)), 596.95/151.07 activate^#(V2)) 596.95/151.07 , U52^#(tt(), V1, V2) -> 596.95/151.07 c_48(U53^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2)), 596.95/151.07 activate^#(V2), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V2)) 596.95/151.07 , U53^#(tt(), V1, V2) -> 596.95/151.07 c_49(U54^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2)), 596.95/151.07 activate^#(V2), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V2)) 596.95/151.07 , U54^#(tt(), V1, V2) -> 596.95/151.07 c_50(U55^#(isNeList(activate(V1)), activate(V2)), 596.95/151.07 isNeList^#(activate(V1)), 596.95/151.07 activate^#(V1), 596.95/151.07 activate^#(V2)) 596.95/151.07 , U55^#(tt(), V2) -> 596.95/151.07 c_51(U56^#(isList(activate(V2))), 596.95/151.07 isList^#(activate(V2)), 596.95/151.07 activate^#(V2)) 596.95/151.07 , U61^#(tt(), V) -> 596.95/151.07 c_53(U62^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V)), 596.95/151.07 activate^#(V), 596.95/151.07 activate^#(V)) 596.95/151.07 , U71^#(tt(), I, P) -> 596.95/151.07 c_56(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.07 isPalListKind^#(activate(I)), 596.95/151.07 activate^#(I), 596.95/151.07 activate^#(P)) 596.95/151.07 , U72^#(tt(), P) -> 596.95/151.07 c_57(U73^#(isPal(activate(P)), activate(P)), 596.95/151.07 isPal^#(activate(P)), 596.95/151.07 activate^#(P), 596.95/151.07 activate^#(P)) 596.95/151.07 , U73^#(tt(), P) -> 596.95/151.07 c_58(U74^#(isPalListKind(activate(P))), 596.95/151.07 isPalListKind^#(activate(P)), 596.95/151.07 activate^#(P)) 596.95/151.07 , isPal^#(V) -> 596.95/151.07 c_59(U81^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V)), 596.95/151.07 activate^#(V), 596.95/151.07 activate^#(V)) 596.95/151.07 , U81^#(tt(), V) -> 596.95/151.07 c_62(U82^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V)), 596.95/151.07 activate^#(V), 596.95/151.07 activate^#(V)) 596.95/151.07 , U82^#(tt(), V) -> 596.95/151.07 c_63(U83^#(isNePal(activate(V))), 596.95/151.07 isNePal^#(activate(V)), 596.95/151.07 activate^#(V)) 596.95/151.07 , isNePal^#(V) -> 596.95/151.07 c_65(U61^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V)), 596.95/151.07 activate^#(V), 596.95/151.07 activate^#(V)) } 596.95/151.07 596.95/151.07 We are left with following problem, upon which TcT provides the 596.95/151.07 certificate YES(O(1),O(n^2)). 596.95/151.07 596.95/151.07 Strict DPs: 596.95/151.07 { U11^#(tt(), V) -> 596.95/151.07 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V))) 596.95/151.07 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 596.95/151.07 , isPalListKind^#(n____(V1, V2)) -> 596.95/151.07 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1))) 596.95/151.07 , isNeList^#(V) -> 596.95/151.07 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V))) 596.95/151.07 , isNeList^#(n____(V1, V2)) -> 596.95/151.07 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1))) 596.95/151.07 , isNeList^#(n____(V1, V2)) -> 596.95/151.07 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1))) 596.95/151.07 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 596.95/151.07 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 596.95/151.07 , U41^#(tt(), V1, V2) -> 596.95/151.07 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1))) 596.95/151.07 , U51^#(tt(), V1, V2) -> 596.95/151.07 c_10(U52^#(isPalListKind(activate(V1)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1))) 596.95/151.07 , U21^#(tt(), V1, V2) -> 596.95/151.07 c_11(U22^#(isPalListKind(activate(V1)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1))) 596.95/151.07 , U22^#(tt(), V1, V2) -> 596.95/151.07 c_12(U23^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2))) 596.95/151.07 , U23^#(tt(), V1, V2) -> 596.95/151.07 c_13(U24^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2))) 596.95/151.07 , U24^#(tt(), V1, V2) -> 596.95/151.07 c_14(U25^#(isList(activate(V1)), activate(V2)), 596.95/151.07 isList^#(activate(V1))) 596.95/151.07 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 596.95/151.07 , isList^#(V) -> 596.95/151.07 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V))) 596.95/151.07 , isList^#(n____(V1, V2)) -> 596.95/151.07 c_17(U21^#(isPalListKind(activate(V1)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1))) 596.95/151.07 , U42^#(tt(), V1, V2) -> 596.95/151.07 c_18(U43^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2))) 596.95/151.07 , U43^#(tt(), V1, V2) -> 596.95/151.07 c_19(U44^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2))) 596.95/151.07 , U44^#(tt(), V1, V2) -> 596.95/151.07 c_20(U45^#(isList(activate(V1)), activate(V2)), 596.95/151.07 isList^#(activate(V1))) 596.95/151.07 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 596.95/151.07 , U52^#(tt(), V1, V2) -> 596.95/151.07 c_22(U53^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2))) 596.95/151.07 , U53^#(tt(), V1, V2) -> 596.95/151.07 c_23(U54^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2))) 596.95/151.07 , U54^#(tt(), V1, V2) -> 596.95/151.07 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 596.95/151.07 isNeList^#(activate(V1))) 596.95/151.07 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 596.95/151.07 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 596.95/151.07 , U71^#(tt(), I, P) -> 596.95/151.07 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.07 isPalListKind^#(activate(I))) 596.95/151.07 , U72^#(tt(), P) -> 596.95/151.07 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 596.95/151.07 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 596.95/151.07 , isPal^#(V) -> 596.95/151.07 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V))) 596.95/151.07 , U81^#(tt(), V) -> 596.95/151.07 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V))) 596.95/151.07 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 596.95/151.07 , isNePal^#(V) -> 596.95/151.07 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V))) } 596.95/151.07 Weak Trs: 596.95/151.07 { __(X1, X2) -> n____(X1, X2) 596.95/151.07 , nil() -> n__nil() 596.95/151.07 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , U12(tt(), V) -> U13(isNeList(activate(V))) 596.95/151.07 , isPalListKind(n__nil()) -> tt() 596.95/151.07 , isPalListKind(n____(V1, V2)) -> 596.95/151.07 U91(isPalListKind(activate(V1)), activate(V2)) 596.95/151.07 , isPalListKind(n__a()) -> tt() 596.95/151.07 , isPalListKind(n__e()) -> tt() 596.95/151.07 , isPalListKind(n__i()) -> tt() 596.95/151.07 , isPalListKind(n__o()) -> tt() 596.95/151.07 , isPalListKind(n__u()) -> tt() 596.95/151.07 , activate(X) -> X 596.95/151.07 , activate(n__nil()) -> nil() 596.95/151.07 , activate(n____(X1, X2)) -> __(X1, X2) 596.95/151.07 , activate(n__a()) -> a() 596.95/151.07 , activate(n__e()) -> e() 596.95/151.07 , activate(n__i()) -> i() 596.95/151.07 , activate(n__o()) -> o() 596.95/151.07 , activate(n__u()) -> u() 596.95/151.07 , U13(tt()) -> tt() 596.95/151.07 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , isNeList(n____(V1, V2)) -> 596.95/151.07 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.07 , isNeList(n____(V1, V2)) -> 596.95/151.07 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.07 , U21(tt(), V1, V2) -> 596.95/151.07 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.07 , U22(tt(), V1, V2) -> 596.95/151.07 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.07 , U23(tt(), V1, V2) -> 596.95/151.07 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.07 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 596.95/151.07 , U25(tt(), V2) -> U26(isList(activate(V2))) 596.95/151.07 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , isList(n__nil()) -> tt() 596.95/151.07 , isList(n____(V1, V2)) -> 596.95/151.07 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.07 , U26(tt()) -> tt() 596.95/151.07 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , U32(tt(), V) -> U33(isQid(activate(V))) 596.95/151.07 , U33(tt()) -> tt() 596.95/151.07 , isQid(n__a()) -> tt() 596.95/151.07 , isQid(n__e()) -> tt() 596.95/151.07 , isQid(n__i()) -> tt() 596.95/151.07 , isQid(n__o()) -> tt() 596.95/151.07 , isQid(n__u()) -> tt() 596.95/151.07 , U41(tt(), V1, V2) -> 596.95/151.07 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.07 , U42(tt(), V1, V2) -> 596.95/151.07 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.07 , U43(tt(), V1, V2) -> 596.95/151.07 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.07 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 596.95/151.07 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 596.95/151.07 , U46(tt()) -> tt() 596.95/151.07 , U51(tt(), V1, V2) -> 596.95/151.07 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.07 , U52(tt(), V1, V2) -> 596.95/151.07 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.07 , U53(tt(), V1, V2) -> 596.95/151.07 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.07 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 596.95/151.07 , U55(tt(), V2) -> U56(isList(activate(V2))) 596.95/151.07 , U56(tt()) -> tt() 596.95/151.07 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , U62(tt(), V) -> U63(isQid(activate(V))) 596.95/151.07 , U63(tt()) -> tt() 596.95/151.07 , U71(tt(), I, P) -> U72(isPalListKind(activate(I)), activate(P)) 596.95/151.07 , U72(tt(), P) -> U73(isPal(activate(P)), activate(P)) 596.95/151.07 , U73(tt(), P) -> U74(isPalListKind(activate(P))) 596.95/151.07 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , isPal(n__nil()) -> tt() 596.95/151.07 , U74(tt()) -> tt() 596.95/151.07 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , U82(tt(), V) -> U83(isNePal(activate(V))) 596.95/151.07 , U83(tt()) -> tt() 596.95/151.07 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 596.95/151.07 , U92(tt()) -> tt() 596.95/151.07 , a() -> n__a() 596.95/151.07 , e() -> n__e() 596.95/151.07 , i() -> n__i() 596.95/151.07 , o() -> n__o() 596.95/151.07 , u() -> n__u() } 596.95/151.07 Obligation: 596.95/151.07 innermost runtime complexity 596.95/151.07 Answer: 596.95/151.07 YES(O(1),O(n^2)) 596.95/151.07 596.95/151.07 We replace rewrite rules by usable rules: 596.95/151.07 596.95/151.07 Weak Usable Rules: 596.95/151.07 { __(X1, X2) -> n____(X1, X2) 596.95/151.07 , nil() -> n__nil() 596.95/151.07 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , U12(tt(), V) -> U13(isNeList(activate(V))) 596.95/151.07 , isPalListKind(n__nil()) -> tt() 596.95/151.07 , isPalListKind(n____(V1, V2)) -> 596.95/151.07 U91(isPalListKind(activate(V1)), activate(V2)) 596.95/151.07 , isPalListKind(n__a()) -> tt() 596.95/151.07 , isPalListKind(n__e()) -> tt() 596.95/151.07 , isPalListKind(n__i()) -> tt() 596.95/151.07 , isPalListKind(n__o()) -> tt() 596.95/151.07 , isPalListKind(n__u()) -> tt() 596.95/151.07 , activate(X) -> X 596.95/151.07 , activate(n__nil()) -> nil() 596.95/151.07 , activate(n____(X1, X2)) -> __(X1, X2) 596.95/151.07 , activate(n__a()) -> a() 596.95/151.07 , activate(n__e()) -> e() 596.95/151.07 , activate(n__i()) -> i() 596.95/151.07 , activate(n__o()) -> o() 596.95/151.07 , activate(n__u()) -> u() 596.95/151.07 , U13(tt()) -> tt() 596.95/151.07 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , isNeList(n____(V1, V2)) -> 596.95/151.07 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.07 , isNeList(n____(V1, V2)) -> 596.95/151.07 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.07 , U21(tt(), V1, V2) -> 596.95/151.07 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.07 , U22(tt(), V1, V2) -> 596.95/151.07 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.07 , U23(tt(), V1, V2) -> 596.95/151.07 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.07 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 596.95/151.07 , U25(tt(), V2) -> U26(isList(activate(V2))) 596.95/151.07 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , isList(n__nil()) -> tt() 596.95/151.07 , isList(n____(V1, V2)) -> 596.95/151.07 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.07 , U26(tt()) -> tt() 596.95/151.07 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , U32(tt(), V) -> U33(isQid(activate(V))) 596.95/151.07 , U33(tt()) -> tt() 596.95/151.07 , isQid(n__a()) -> tt() 596.95/151.07 , isQid(n__e()) -> tt() 596.95/151.07 , isQid(n__i()) -> tt() 596.95/151.07 , isQid(n__o()) -> tt() 596.95/151.07 , isQid(n__u()) -> tt() 596.95/151.07 , U41(tt(), V1, V2) -> 596.95/151.07 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.07 , U42(tt(), V1, V2) -> 596.95/151.07 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.07 , U43(tt(), V1, V2) -> 596.95/151.07 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.07 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 596.95/151.07 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 596.95/151.07 , U46(tt()) -> tt() 596.95/151.07 , U51(tt(), V1, V2) -> 596.95/151.07 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.07 , U52(tt(), V1, V2) -> 596.95/151.07 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.07 , U53(tt(), V1, V2) -> 596.95/151.07 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.07 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 596.95/151.07 , U55(tt(), V2) -> U56(isList(activate(V2))) 596.95/151.07 , U56(tt()) -> tt() 596.95/151.07 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , U62(tt(), V) -> U63(isQid(activate(V))) 596.95/151.07 , U63(tt()) -> tt() 596.95/151.07 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , isPal(n__nil()) -> tt() 596.95/151.07 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , U82(tt(), V) -> U83(isNePal(activate(V))) 596.95/151.07 , U83(tt()) -> tt() 596.95/151.07 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 596.95/151.07 , U92(tt()) -> tt() 596.95/151.07 , a() -> n__a() 596.95/151.07 , e() -> n__e() 596.95/151.07 , i() -> n__i() 596.95/151.07 , o() -> n__o() 596.95/151.07 , u() -> n__u() } 596.95/151.07 596.95/151.07 We are left with following problem, upon which TcT provides the 596.95/151.07 certificate YES(O(1),O(n^2)). 596.95/151.07 596.95/151.07 Strict DPs: 596.95/151.07 { U11^#(tt(), V) -> 596.95/151.07 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V))) 596.95/151.07 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 596.95/151.07 , isPalListKind^#(n____(V1, V2)) -> 596.95/151.07 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1))) 596.95/151.07 , isNeList^#(V) -> 596.95/151.07 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V))) 596.95/151.07 , isNeList^#(n____(V1, V2)) -> 596.95/151.07 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1))) 596.95/151.07 , isNeList^#(n____(V1, V2)) -> 596.95/151.07 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1))) 596.95/151.07 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 596.95/151.07 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 596.95/151.07 , U41^#(tt(), V1, V2) -> 596.95/151.07 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1))) 596.95/151.07 , U51^#(tt(), V1, V2) -> 596.95/151.07 c_10(U52^#(isPalListKind(activate(V1)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1))) 596.95/151.07 , U21^#(tt(), V1, V2) -> 596.95/151.07 c_11(U22^#(isPalListKind(activate(V1)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1))) 596.95/151.07 , U22^#(tt(), V1, V2) -> 596.95/151.07 c_12(U23^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2))) 596.95/151.07 , U23^#(tt(), V1, V2) -> 596.95/151.07 c_13(U24^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2))) 596.95/151.07 , U24^#(tt(), V1, V2) -> 596.95/151.07 c_14(U25^#(isList(activate(V1)), activate(V2)), 596.95/151.07 isList^#(activate(V1))) 596.95/151.07 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 596.95/151.07 , isList^#(V) -> 596.95/151.07 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V))) 596.95/151.07 , isList^#(n____(V1, V2)) -> 596.95/151.07 c_17(U21^#(isPalListKind(activate(V1)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V1))) 596.95/151.07 , U42^#(tt(), V1, V2) -> 596.95/151.07 c_18(U43^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2))) 596.95/151.07 , U43^#(tt(), V1, V2) -> 596.95/151.07 c_19(U44^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2))) 596.95/151.07 , U44^#(tt(), V1, V2) -> 596.95/151.07 c_20(U45^#(isList(activate(V1)), activate(V2)), 596.95/151.07 isList^#(activate(V1))) 596.95/151.07 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 596.95/151.07 , U52^#(tt(), V1, V2) -> 596.95/151.07 c_22(U53^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2))) 596.95/151.07 , U53^#(tt(), V1, V2) -> 596.95/151.07 c_23(U54^#(isPalListKind(activate(V2)), 596.95/151.07 activate(V1), 596.95/151.07 activate(V2)), 596.95/151.07 isPalListKind^#(activate(V2))) 596.95/151.07 , U54^#(tt(), V1, V2) -> 596.95/151.07 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 596.95/151.07 isNeList^#(activate(V1))) 596.95/151.07 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 596.95/151.07 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 596.95/151.07 , U71^#(tt(), I, P) -> 596.95/151.07 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.07 isPalListKind^#(activate(I))) 596.95/151.07 , U72^#(tt(), P) -> 596.95/151.07 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 596.95/151.07 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 596.95/151.07 , isPal^#(V) -> 596.95/151.07 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V))) 596.95/151.07 , U81^#(tt(), V) -> 596.95/151.07 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V))) 596.95/151.07 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 596.95/151.07 , isNePal^#(V) -> 596.95/151.07 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 596.95/151.07 isPalListKind^#(activate(V))) } 596.95/151.07 Weak Trs: 596.95/151.07 { __(X1, X2) -> n____(X1, X2) 596.95/151.07 , nil() -> n__nil() 596.95/151.07 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , U12(tt(), V) -> U13(isNeList(activate(V))) 596.95/151.07 , isPalListKind(n__nil()) -> tt() 596.95/151.07 , isPalListKind(n____(V1, V2)) -> 596.95/151.07 U91(isPalListKind(activate(V1)), activate(V2)) 596.95/151.07 , isPalListKind(n__a()) -> tt() 596.95/151.07 , isPalListKind(n__e()) -> tt() 596.95/151.07 , isPalListKind(n__i()) -> tt() 596.95/151.07 , isPalListKind(n__o()) -> tt() 596.95/151.07 , isPalListKind(n__u()) -> tt() 596.95/151.07 , activate(X) -> X 596.95/151.07 , activate(n__nil()) -> nil() 596.95/151.07 , activate(n____(X1, X2)) -> __(X1, X2) 596.95/151.07 , activate(n__a()) -> a() 596.95/151.07 , activate(n__e()) -> e() 596.95/151.07 , activate(n__i()) -> i() 596.95/151.07 , activate(n__o()) -> o() 596.95/151.07 , activate(n__u()) -> u() 596.95/151.07 , U13(tt()) -> tt() 596.95/151.07 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , isNeList(n____(V1, V2)) -> 596.95/151.07 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.07 , isNeList(n____(V1, V2)) -> 596.95/151.07 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.07 , U21(tt(), V1, V2) -> 596.95/151.07 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.07 , U22(tt(), V1, V2) -> 596.95/151.07 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.07 , U23(tt(), V1, V2) -> 596.95/151.07 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.07 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 596.95/151.07 , U25(tt(), V2) -> U26(isList(activate(V2))) 596.95/151.07 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , isList(n__nil()) -> tt() 596.95/151.07 , isList(n____(V1, V2)) -> 596.95/151.07 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.07 , U26(tt()) -> tt() 596.95/151.07 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 596.95/151.07 , U32(tt(), V) -> U33(isQid(activate(V))) 596.95/151.07 , U33(tt()) -> tt() 596.95/151.07 , isQid(n__a()) -> tt() 596.95/151.07 , isQid(n__e()) -> tt() 596.95/151.07 , isQid(n__i()) -> tt() 596.95/151.07 , isQid(n__o()) -> tt() 596.95/151.07 , isQid(n__u()) -> tt() 596.95/151.07 , U41(tt(), V1, V2) -> 596.95/151.07 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.07 , U42(tt(), V1, V2) -> 596.95/151.07 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.07 , U43(tt(), V1, V2) -> 596.95/151.07 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.07 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 596.95/151.07 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 596.95/151.07 , U46(tt()) -> tt() 596.95/151.07 , U51(tt(), V1, V2) -> 596.95/151.08 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.08 , U52(tt(), V1, V2) -> 596.95/151.08 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.08 , U53(tt(), V1, V2) -> 596.95/151.08 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.08 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 596.95/151.08 , U55(tt(), V2) -> U56(isList(activate(V2))) 596.95/151.08 , U56(tt()) -> tt() 596.95/151.08 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , U62(tt(), V) -> U63(isQid(activate(V))) 596.95/151.08 , U63(tt()) -> tt() 596.95/151.08 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , isPal(n__nil()) -> tt() 596.95/151.08 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , U82(tt(), V) -> U83(isNePal(activate(V))) 596.95/151.08 , U83(tt()) -> tt() 596.95/151.08 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 596.95/151.08 , U92(tt()) -> tt() 596.95/151.08 , a() -> n__a() 596.95/151.08 , e() -> n__e() 596.95/151.08 , i() -> n__i() 596.95/151.08 , o() -> n__o() 596.95/151.08 , u() -> n__u() } 596.95/151.08 Obligation: 596.95/151.08 innermost runtime complexity 596.95/151.08 Answer: 596.95/151.08 YES(O(1),O(n^2)) 596.95/151.08 596.95/151.08 We analyse the complexity of following sub-problems (R) and (S). 596.95/151.08 Problem (S) is obtained from the input problem by shifting strict 596.95/151.08 rules from (R) into the weak component: 596.95/151.08 596.95/151.08 Problem (R): 596.95/151.08 ------------ 596.95/151.08 Strict DPs: 596.95/151.08 { isPalListKind^#(n____(V1, V2)) -> 596.95/151.08 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.08 isPalListKind^#(activate(V1))) 596.95/151.08 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 596.95/151.08 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 596.95/151.08 , U71^#(tt(), I, P) -> 596.95/151.08 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.08 isPalListKind^#(activate(I))) 596.95/151.08 , U72^#(tt(), P) -> 596.95/151.08 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 596.95/151.08 , isPal^#(V) -> 596.95/151.08 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 596.95/151.08 isPalListKind^#(activate(V))) 596.95/151.08 , U81^#(tt(), V) -> 596.95/151.08 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 596.95/151.08 isPalListKind^#(activate(V))) 596.95/151.08 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 596.95/151.08 , isNePal^#(V) -> 596.95/151.08 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 596.95/151.08 isPalListKind^#(activate(V))) } 596.95/151.08 Weak DPs: 596.95/151.08 { U11^#(tt(), V) -> 596.95/151.08 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 596.95/151.08 isPalListKind^#(activate(V))) 596.95/151.08 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 596.95/151.08 , isNeList^#(V) -> 596.95/151.08 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 596.95/151.08 isPalListKind^#(activate(V))) 596.95/151.08 , isNeList^#(n____(V1, V2)) -> 596.95/151.08 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.08 isPalListKind^#(activate(V1))) 596.95/151.08 , isNeList^#(n____(V1, V2)) -> 596.95/151.08 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.08 isPalListKind^#(activate(V1))) 596.95/151.08 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 596.95/151.08 , U41^#(tt(), V1, V2) -> 596.95/151.08 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.08 isPalListKind^#(activate(V1))) 596.95/151.08 , U51^#(tt(), V1, V2) -> 596.95/151.08 c_10(U52^#(isPalListKind(activate(V1)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V1))) 596.95/151.08 , U21^#(tt(), V1, V2) -> 596.95/151.08 c_11(U22^#(isPalListKind(activate(V1)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V1))) 596.95/151.08 , U22^#(tt(), V1, V2) -> 596.95/151.08 c_12(U23^#(isPalListKind(activate(V2)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V2))) 596.95/151.08 , U23^#(tt(), V1, V2) -> 596.95/151.08 c_13(U24^#(isPalListKind(activate(V2)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V2))) 596.95/151.08 , U24^#(tt(), V1, V2) -> 596.95/151.08 c_14(U25^#(isList(activate(V1)), activate(V2)), 596.95/151.08 isList^#(activate(V1))) 596.95/151.08 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 596.95/151.08 , isList^#(V) -> 596.95/151.08 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 596.95/151.08 isPalListKind^#(activate(V))) 596.95/151.08 , isList^#(n____(V1, V2)) -> 596.95/151.08 c_17(U21^#(isPalListKind(activate(V1)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V1))) 596.95/151.08 , U42^#(tt(), V1, V2) -> 596.95/151.08 c_18(U43^#(isPalListKind(activate(V2)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V2))) 596.95/151.08 , U43^#(tt(), V1, V2) -> 596.95/151.08 c_19(U44^#(isPalListKind(activate(V2)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V2))) 596.95/151.08 , U44^#(tt(), V1, V2) -> 596.95/151.08 c_20(U45^#(isList(activate(V1)), activate(V2)), 596.95/151.08 isList^#(activate(V1))) 596.95/151.08 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 596.95/151.08 , U52^#(tt(), V1, V2) -> 596.95/151.08 c_22(U53^#(isPalListKind(activate(V2)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V2))) 596.95/151.08 , U53^#(tt(), V1, V2) -> 596.95/151.08 c_23(U54^#(isPalListKind(activate(V2)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V2))) 596.95/151.08 , U54^#(tt(), V1, V2) -> 596.95/151.08 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 596.95/151.08 isNeList^#(activate(V1))) 596.95/151.08 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 596.95/151.08 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) } 596.95/151.08 Weak Trs: 596.95/151.08 { __(X1, X2) -> n____(X1, X2) 596.95/151.08 , nil() -> n__nil() 596.95/151.08 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , U12(tt(), V) -> U13(isNeList(activate(V))) 596.95/151.08 , isPalListKind(n__nil()) -> tt() 596.95/151.08 , isPalListKind(n____(V1, V2)) -> 596.95/151.08 U91(isPalListKind(activate(V1)), activate(V2)) 596.95/151.08 , isPalListKind(n__a()) -> tt() 596.95/151.08 , isPalListKind(n__e()) -> tt() 596.95/151.08 , isPalListKind(n__i()) -> tt() 596.95/151.08 , isPalListKind(n__o()) -> tt() 596.95/151.08 , isPalListKind(n__u()) -> tt() 596.95/151.08 , activate(X) -> X 596.95/151.08 , activate(n__nil()) -> nil() 596.95/151.08 , activate(n____(X1, X2)) -> __(X1, X2) 596.95/151.08 , activate(n__a()) -> a() 596.95/151.08 , activate(n__e()) -> e() 596.95/151.08 , activate(n__i()) -> i() 596.95/151.08 , activate(n__o()) -> o() 596.95/151.08 , activate(n__u()) -> u() 596.95/151.08 , U13(tt()) -> tt() 596.95/151.08 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , isNeList(n____(V1, V2)) -> 596.95/151.08 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.08 , isNeList(n____(V1, V2)) -> 596.95/151.08 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.08 , U21(tt(), V1, V2) -> 596.95/151.08 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.08 , U22(tt(), V1, V2) -> 596.95/151.08 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.08 , U23(tt(), V1, V2) -> 596.95/151.08 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.08 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 596.95/151.08 , U25(tt(), V2) -> U26(isList(activate(V2))) 596.95/151.08 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , isList(n__nil()) -> tt() 596.95/151.08 , isList(n____(V1, V2)) -> 596.95/151.08 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.08 , U26(tt()) -> tt() 596.95/151.08 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , U32(tt(), V) -> U33(isQid(activate(V))) 596.95/151.08 , U33(tt()) -> tt() 596.95/151.08 , isQid(n__a()) -> tt() 596.95/151.08 , isQid(n__e()) -> tt() 596.95/151.08 , isQid(n__i()) -> tt() 596.95/151.08 , isQid(n__o()) -> tt() 596.95/151.08 , isQid(n__u()) -> tt() 596.95/151.08 , U41(tt(), V1, V2) -> 596.95/151.08 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.08 , U42(tt(), V1, V2) -> 596.95/151.08 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.08 , U43(tt(), V1, V2) -> 596.95/151.08 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.08 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 596.95/151.08 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 596.95/151.08 , U46(tt()) -> tt() 596.95/151.08 , U51(tt(), V1, V2) -> 596.95/151.08 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.08 , U52(tt(), V1, V2) -> 596.95/151.08 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.08 , U53(tt(), V1, V2) -> 596.95/151.08 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.08 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 596.95/151.08 , U55(tt(), V2) -> U56(isList(activate(V2))) 596.95/151.08 , U56(tt()) -> tt() 596.95/151.08 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , U62(tt(), V) -> U63(isQid(activate(V))) 596.95/151.08 , U63(tt()) -> tt() 596.95/151.08 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , isPal(n__nil()) -> tt() 596.95/151.08 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , U82(tt(), V) -> U83(isNePal(activate(V))) 596.95/151.08 , U83(tt()) -> tt() 596.95/151.08 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 596.95/151.08 , U92(tt()) -> tt() 596.95/151.08 , a() -> n__a() 596.95/151.08 , e() -> n__e() 596.95/151.08 , i() -> n__i() 596.95/151.08 , o() -> n__o() 596.95/151.08 , u() -> n__u() } 596.95/151.08 StartTerms: basic terms 596.95/151.08 Strategy: innermost 596.95/151.08 596.95/151.08 Problem (S): 596.95/151.08 ------------ 596.95/151.08 Strict DPs: 596.95/151.08 { U11^#(tt(), V) -> 596.95/151.08 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 596.95/151.08 isPalListKind^#(activate(V))) 596.95/151.08 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 596.95/151.08 , isNeList^#(V) -> 596.95/151.08 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 596.95/151.08 isPalListKind^#(activate(V))) 596.95/151.08 , isNeList^#(n____(V1, V2)) -> 596.95/151.08 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.08 isPalListKind^#(activate(V1))) 596.95/151.08 , isNeList^#(n____(V1, V2)) -> 596.95/151.08 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.08 isPalListKind^#(activate(V1))) 596.95/151.08 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 596.95/151.08 , U41^#(tt(), V1, V2) -> 596.95/151.08 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.08 isPalListKind^#(activate(V1))) 596.95/151.08 , U51^#(tt(), V1, V2) -> 596.95/151.08 c_10(U52^#(isPalListKind(activate(V1)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V1))) 596.95/151.08 , U21^#(tt(), V1, V2) -> 596.95/151.08 c_11(U22^#(isPalListKind(activate(V1)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V1))) 596.95/151.08 , U22^#(tt(), V1, V2) -> 596.95/151.08 c_12(U23^#(isPalListKind(activate(V2)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V2))) 596.95/151.08 , U23^#(tt(), V1, V2) -> 596.95/151.08 c_13(U24^#(isPalListKind(activate(V2)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V2))) 596.95/151.08 , U24^#(tt(), V1, V2) -> 596.95/151.08 c_14(U25^#(isList(activate(V1)), activate(V2)), 596.95/151.08 isList^#(activate(V1))) 596.95/151.08 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 596.95/151.08 , isList^#(V) -> 596.95/151.08 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 596.95/151.08 isPalListKind^#(activate(V))) 596.95/151.08 , isList^#(n____(V1, V2)) -> 596.95/151.08 c_17(U21^#(isPalListKind(activate(V1)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V1))) 596.95/151.08 , U42^#(tt(), V1, V2) -> 596.95/151.08 c_18(U43^#(isPalListKind(activate(V2)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V2))) 596.95/151.08 , U43^#(tt(), V1, V2) -> 596.95/151.08 c_19(U44^#(isPalListKind(activate(V2)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V2))) 596.95/151.08 , U44^#(tt(), V1, V2) -> 596.95/151.08 c_20(U45^#(isList(activate(V1)), activate(V2)), 596.95/151.08 isList^#(activate(V1))) 596.95/151.08 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 596.95/151.08 , U52^#(tt(), V1, V2) -> 596.95/151.08 c_22(U53^#(isPalListKind(activate(V2)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V2))) 596.95/151.08 , U53^#(tt(), V1, V2) -> 596.95/151.08 c_23(U54^#(isPalListKind(activate(V2)), 596.95/151.08 activate(V1), 596.95/151.08 activate(V2)), 596.95/151.08 isPalListKind^#(activate(V2))) 596.95/151.08 , U54^#(tt(), V1, V2) -> 596.95/151.08 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 596.95/151.08 isNeList^#(activate(V1))) 596.95/151.08 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 596.95/151.08 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) } 596.95/151.08 Weak DPs: 596.95/151.08 { isPalListKind^#(n____(V1, V2)) -> 596.95/151.08 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.08 isPalListKind^#(activate(V1))) 596.95/151.08 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 596.95/151.08 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 596.95/151.08 , U71^#(tt(), I, P) -> 596.95/151.08 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.08 isPalListKind^#(activate(I))) 596.95/151.08 , U72^#(tt(), P) -> 596.95/151.08 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 596.95/151.08 , isPal^#(V) -> 596.95/151.08 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 596.95/151.08 isPalListKind^#(activate(V))) 596.95/151.08 , U81^#(tt(), V) -> 596.95/151.08 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 596.95/151.08 isPalListKind^#(activate(V))) 596.95/151.08 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 596.95/151.08 , isNePal^#(V) -> 596.95/151.08 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 596.95/151.08 isPalListKind^#(activate(V))) } 596.95/151.08 Weak Trs: 596.95/151.08 { __(X1, X2) -> n____(X1, X2) 596.95/151.08 , nil() -> n__nil() 596.95/151.08 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , U12(tt(), V) -> U13(isNeList(activate(V))) 596.95/151.08 , isPalListKind(n__nil()) -> tt() 596.95/151.08 , isPalListKind(n____(V1, V2)) -> 596.95/151.08 U91(isPalListKind(activate(V1)), activate(V2)) 596.95/151.08 , isPalListKind(n__a()) -> tt() 596.95/151.08 , isPalListKind(n__e()) -> tt() 596.95/151.08 , isPalListKind(n__i()) -> tt() 596.95/151.08 , isPalListKind(n__o()) -> tt() 596.95/151.08 , isPalListKind(n__u()) -> tt() 596.95/151.08 , activate(X) -> X 596.95/151.08 , activate(n__nil()) -> nil() 596.95/151.08 , activate(n____(X1, X2)) -> __(X1, X2) 596.95/151.08 , activate(n__a()) -> a() 596.95/151.08 , activate(n__e()) -> e() 596.95/151.08 , activate(n__i()) -> i() 596.95/151.08 , activate(n__o()) -> o() 596.95/151.08 , activate(n__u()) -> u() 596.95/151.08 , U13(tt()) -> tt() 596.95/151.08 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , isNeList(n____(V1, V2)) -> 596.95/151.08 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.08 , isNeList(n____(V1, V2)) -> 596.95/151.08 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.08 , U21(tt(), V1, V2) -> 596.95/151.08 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.08 , U22(tt(), V1, V2) -> 596.95/151.08 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.08 , U23(tt(), V1, V2) -> 596.95/151.08 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.08 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 596.95/151.08 , U25(tt(), V2) -> U26(isList(activate(V2))) 596.95/151.08 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , isList(n__nil()) -> tt() 596.95/151.08 , isList(n____(V1, V2)) -> 596.95/151.08 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.08 , U26(tt()) -> tt() 596.95/151.08 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , U32(tt(), V) -> U33(isQid(activate(V))) 596.95/151.08 , U33(tt()) -> tt() 596.95/151.08 , isQid(n__a()) -> tt() 596.95/151.08 , isQid(n__e()) -> tt() 596.95/151.08 , isQid(n__i()) -> tt() 596.95/151.08 , isQid(n__o()) -> tt() 596.95/151.08 , isQid(n__u()) -> tt() 596.95/151.08 , U41(tt(), V1, V2) -> 596.95/151.08 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.08 , U42(tt(), V1, V2) -> 596.95/151.08 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.08 , U43(tt(), V1, V2) -> 596.95/151.08 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.08 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 596.95/151.08 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 596.95/151.08 , U46(tt()) -> tt() 596.95/151.08 , U51(tt(), V1, V2) -> 596.95/151.08 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.08 , U52(tt(), V1, V2) -> 596.95/151.08 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.08 , U53(tt(), V1, V2) -> 596.95/151.08 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.08 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 596.95/151.08 , U55(tt(), V2) -> U56(isList(activate(V2))) 596.95/151.08 , U56(tt()) -> tt() 596.95/151.08 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , U62(tt(), V) -> U63(isQid(activate(V))) 596.95/151.08 , U63(tt()) -> tt() 596.95/151.08 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , isPal(n__nil()) -> tt() 596.95/151.08 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , U82(tt(), V) -> U83(isNePal(activate(V))) 596.95/151.08 , U83(tt()) -> tt() 596.95/151.08 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 596.95/151.08 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 596.95/151.08 , U92(tt()) -> tt() 596.95/151.08 , a() -> n__a() 596.95/151.08 , e() -> n__e() 596.95/151.08 , i() -> n__i() 596.95/151.08 , o() -> n__o() 596.95/151.09 , u() -> n__u() } 596.95/151.09 StartTerms: basic terms 596.95/151.09 Strategy: innermost 596.95/151.09 596.95/151.09 Overall, the transformation results in the following sub-problem(s): 596.95/151.09 596.95/151.09 Generated new problems: 596.95/151.09 ----------------------- 596.95/151.09 R) Strict DPs: 596.95/151.09 { isPalListKind^#(n____(V1, V2)) -> 596.95/151.09 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.09 isPalListKind^#(activate(V1))) 596.95/151.09 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 596.95/151.09 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 596.95/151.09 , U71^#(tt(), I, P) -> 596.95/151.09 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.09 isPalListKind^#(activate(I))) 596.95/151.09 , U72^#(tt(), P) -> 596.95/151.09 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 596.95/151.09 , isPal^#(V) -> 596.95/151.09 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 596.95/151.09 isPalListKind^#(activate(V))) 596.95/151.09 , U81^#(tt(), V) -> 596.95/151.09 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 596.95/151.09 isPalListKind^#(activate(V))) 596.95/151.09 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 596.95/151.09 , isNePal^#(V) -> 596.95/151.09 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 596.95/151.09 isPalListKind^#(activate(V))) } 596.95/151.09 Weak DPs: 596.95/151.09 { U11^#(tt(), V) -> 596.95/151.09 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 596.95/151.09 isPalListKind^#(activate(V))) 596.95/151.09 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 596.95/151.09 , isNeList^#(V) -> 596.95/151.09 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 596.95/151.09 isPalListKind^#(activate(V))) 596.95/151.09 , isNeList^#(n____(V1, V2)) -> 596.95/151.09 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.09 isPalListKind^#(activate(V1))) 596.95/151.09 , isNeList^#(n____(V1, V2)) -> 596.95/151.09 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.09 isPalListKind^#(activate(V1))) 596.95/151.09 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 596.95/151.09 , U41^#(tt(), V1, V2) -> 596.95/151.09 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.09 isPalListKind^#(activate(V1))) 596.95/151.09 , U51^#(tt(), V1, V2) -> 596.95/151.09 c_10(U52^#(isPalListKind(activate(V1)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V1))) 596.95/151.09 , U21^#(tt(), V1, V2) -> 596.95/151.09 c_11(U22^#(isPalListKind(activate(V1)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V1))) 596.95/151.09 , U22^#(tt(), V1, V2) -> 596.95/151.09 c_12(U23^#(isPalListKind(activate(V2)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V2))) 596.95/151.09 , U23^#(tt(), V1, V2) -> 596.95/151.09 c_13(U24^#(isPalListKind(activate(V2)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V2))) 596.95/151.09 , U24^#(tt(), V1, V2) -> 596.95/151.09 c_14(U25^#(isList(activate(V1)), activate(V2)), 596.95/151.09 isList^#(activate(V1))) 596.95/151.09 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 596.95/151.09 , isList^#(V) -> 596.95/151.09 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 596.95/151.09 isPalListKind^#(activate(V))) 596.95/151.09 , isList^#(n____(V1, V2)) -> 596.95/151.09 c_17(U21^#(isPalListKind(activate(V1)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V1))) 596.95/151.09 , U42^#(tt(), V1, V2) -> 596.95/151.09 c_18(U43^#(isPalListKind(activate(V2)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V2))) 596.95/151.09 , U43^#(tt(), V1, V2) -> 596.95/151.09 c_19(U44^#(isPalListKind(activate(V2)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V2))) 596.95/151.09 , U44^#(tt(), V1, V2) -> 596.95/151.09 c_20(U45^#(isList(activate(V1)), activate(V2)), 596.95/151.09 isList^#(activate(V1))) 596.95/151.09 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 596.95/151.09 , U52^#(tt(), V1, V2) -> 596.95/151.09 c_22(U53^#(isPalListKind(activate(V2)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V2))) 596.95/151.09 , U53^#(tt(), V1, V2) -> 596.95/151.09 c_23(U54^#(isPalListKind(activate(V2)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V2))) 596.95/151.09 , U54^#(tt(), V1, V2) -> 596.95/151.09 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 596.95/151.09 isNeList^#(activate(V1))) 596.95/151.09 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 596.95/151.09 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) } 596.95/151.09 Weak Trs: 596.95/151.09 { __(X1, X2) -> n____(X1, X2) 596.95/151.09 , nil() -> n__nil() 596.95/151.09 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 596.95/151.09 , U12(tt(), V) -> U13(isNeList(activate(V))) 596.95/151.09 , isPalListKind(n__nil()) -> tt() 596.95/151.09 , isPalListKind(n____(V1, V2)) -> 596.95/151.09 U91(isPalListKind(activate(V1)), activate(V2)) 596.95/151.09 , isPalListKind(n__a()) -> tt() 596.95/151.09 , isPalListKind(n__e()) -> tt() 596.95/151.09 , isPalListKind(n__i()) -> tt() 596.95/151.09 , isPalListKind(n__o()) -> tt() 596.95/151.09 , isPalListKind(n__u()) -> tt() 596.95/151.09 , activate(X) -> X 596.95/151.09 , activate(n__nil()) -> nil() 596.95/151.09 , activate(n____(X1, X2)) -> __(X1, X2) 596.95/151.09 , activate(n__a()) -> a() 596.95/151.09 , activate(n__e()) -> e() 596.95/151.09 , activate(n__i()) -> i() 596.95/151.09 , activate(n__o()) -> o() 596.95/151.09 , activate(n__u()) -> u() 596.95/151.09 , U13(tt()) -> tt() 596.95/151.09 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 596.95/151.09 , isNeList(n____(V1, V2)) -> 596.95/151.09 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.09 , isNeList(n____(V1, V2)) -> 596.95/151.09 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.09 , U21(tt(), V1, V2) -> 596.95/151.09 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.09 , U22(tt(), V1, V2) -> 596.95/151.09 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.09 , U23(tt(), V1, V2) -> 596.95/151.09 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.09 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 596.95/151.09 , U25(tt(), V2) -> U26(isList(activate(V2))) 596.95/151.09 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 596.95/151.09 , isList(n__nil()) -> tt() 596.95/151.09 , isList(n____(V1, V2)) -> 596.95/151.09 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.09 , U26(tt()) -> tt() 596.95/151.09 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 596.95/151.09 , U32(tt(), V) -> U33(isQid(activate(V))) 596.95/151.09 , U33(tt()) -> tt() 596.95/151.09 , isQid(n__a()) -> tt() 596.95/151.09 , isQid(n__e()) -> tt() 596.95/151.09 , isQid(n__i()) -> tt() 596.95/151.09 , isQid(n__o()) -> tt() 596.95/151.09 , isQid(n__u()) -> tt() 596.95/151.09 , U41(tt(), V1, V2) -> 596.95/151.09 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.09 , U42(tt(), V1, V2) -> 596.95/151.09 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.09 , U43(tt(), V1, V2) -> 596.95/151.09 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.09 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 596.95/151.09 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 596.95/151.09 , U46(tt()) -> tt() 596.95/151.09 , U51(tt(), V1, V2) -> 596.95/151.09 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.09 , U52(tt(), V1, V2) -> 596.95/151.09 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.09 , U53(tt(), V1, V2) -> 596.95/151.09 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.09 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 596.95/151.09 , U55(tt(), V2) -> U56(isList(activate(V2))) 596.95/151.09 , U56(tt()) -> tt() 596.95/151.09 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 596.95/151.09 , U62(tt(), V) -> U63(isQid(activate(V))) 596.95/151.09 , U63(tt()) -> tt() 596.95/151.09 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 596.95/151.09 , isPal(n__nil()) -> tt() 596.95/151.09 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 596.95/151.09 , U82(tt(), V) -> U83(isNePal(activate(V))) 596.95/151.09 , U83(tt()) -> tt() 596.95/151.09 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 596.95/151.09 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 596.95/151.09 , U92(tt()) -> tt() 596.95/151.09 , a() -> n__a() 596.95/151.09 , e() -> n__e() 596.95/151.09 , i() -> n__i() 596.95/151.09 , o() -> n__o() 596.95/151.09 , u() -> n__u() } 596.95/151.09 StartTerms: basic terms 596.95/151.09 Strategy: innermost 596.95/151.09 596.95/151.09 This problem was proven YES(O(1),O(n^2)). 596.95/151.09 596.95/151.09 S) Strict DPs: 596.95/151.09 { U11^#(tt(), V) -> 596.95/151.09 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 596.95/151.09 isPalListKind^#(activate(V))) 596.95/151.09 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 596.95/151.09 , isNeList^#(V) -> 596.95/151.09 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 596.95/151.09 isPalListKind^#(activate(V))) 596.95/151.09 , isNeList^#(n____(V1, V2)) -> 596.95/151.09 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.09 isPalListKind^#(activate(V1))) 596.95/151.09 , isNeList^#(n____(V1, V2)) -> 596.95/151.09 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.09 isPalListKind^#(activate(V1))) 596.95/151.09 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 596.95/151.09 , U41^#(tt(), V1, V2) -> 596.95/151.09 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.09 isPalListKind^#(activate(V1))) 596.95/151.09 , U51^#(tt(), V1, V2) -> 596.95/151.09 c_10(U52^#(isPalListKind(activate(V1)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V1))) 596.95/151.09 , U21^#(tt(), V1, V2) -> 596.95/151.09 c_11(U22^#(isPalListKind(activate(V1)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V1))) 596.95/151.09 , U22^#(tt(), V1, V2) -> 596.95/151.09 c_12(U23^#(isPalListKind(activate(V2)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V2))) 596.95/151.09 , U23^#(tt(), V1, V2) -> 596.95/151.09 c_13(U24^#(isPalListKind(activate(V2)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V2))) 596.95/151.09 , U24^#(tt(), V1, V2) -> 596.95/151.09 c_14(U25^#(isList(activate(V1)), activate(V2)), 596.95/151.09 isList^#(activate(V1))) 596.95/151.09 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 596.95/151.09 , isList^#(V) -> 596.95/151.09 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 596.95/151.09 isPalListKind^#(activate(V))) 596.95/151.09 , isList^#(n____(V1, V2)) -> 596.95/151.09 c_17(U21^#(isPalListKind(activate(V1)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V1))) 596.95/151.09 , U42^#(tt(), V1, V2) -> 596.95/151.09 c_18(U43^#(isPalListKind(activate(V2)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V2))) 596.95/151.09 , U43^#(tt(), V1, V2) -> 596.95/151.09 c_19(U44^#(isPalListKind(activate(V2)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V2))) 596.95/151.09 , U44^#(tt(), V1, V2) -> 596.95/151.09 c_20(U45^#(isList(activate(V1)), activate(V2)), 596.95/151.09 isList^#(activate(V1))) 596.95/151.09 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 596.95/151.09 , U52^#(tt(), V1, V2) -> 596.95/151.09 c_22(U53^#(isPalListKind(activate(V2)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V2))) 596.95/151.09 , U53^#(tt(), V1, V2) -> 596.95/151.09 c_23(U54^#(isPalListKind(activate(V2)), 596.95/151.09 activate(V1), 596.95/151.09 activate(V2)), 596.95/151.09 isPalListKind^#(activate(V2))) 596.95/151.09 , U54^#(tt(), V1, V2) -> 596.95/151.09 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 596.95/151.09 isNeList^#(activate(V1))) 596.95/151.09 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 596.95/151.09 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) } 596.95/151.09 Weak DPs: 596.95/151.09 { isPalListKind^#(n____(V1, V2)) -> 596.95/151.09 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.09 isPalListKind^#(activate(V1))) 596.95/151.09 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 596.95/151.09 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 596.95/151.09 , U71^#(tt(), I, P) -> 596.95/151.09 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.09 isPalListKind^#(activate(I))) 596.95/151.09 , U72^#(tt(), P) -> 596.95/151.09 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 596.95/151.09 , isPal^#(V) -> 596.95/151.09 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 596.95/151.09 isPalListKind^#(activate(V))) 596.95/151.09 , U81^#(tt(), V) -> 596.95/151.09 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 596.95/151.09 isPalListKind^#(activate(V))) 596.95/151.09 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 596.95/151.09 , isNePal^#(V) -> 596.95/151.09 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 596.95/151.09 isPalListKind^#(activate(V))) } 596.95/151.09 Weak Trs: 596.95/151.09 { __(X1, X2) -> n____(X1, X2) 596.95/151.09 , nil() -> n__nil() 596.95/151.09 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 596.95/151.09 , U12(tt(), V) -> U13(isNeList(activate(V))) 596.95/151.09 , isPalListKind(n__nil()) -> tt() 596.95/151.09 , isPalListKind(n____(V1, V2)) -> 596.95/151.09 U91(isPalListKind(activate(V1)), activate(V2)) 596.95/151.09 , isPalListKind(n__a()) -> tt() 596.95/151.09 , isPalListKind(n__e()) -> tt() 596.95/151.09 , isPalListKind(n__i()) -> tt() 596.95/151.09 , isPalListKind(n__o()) -> tt() 596.95/151.09 , isPalListKind(n__u()) -> tt() 596.95/151.09 , activate(X) -> X 596.95/151.09 , activate(n__nil()) -> nil() 596.95/151.09 , activate(n____(X1, X2)) -> __(X1, X2) 596.95/151.09 , activate(n__a()) -> a() 596.95/151.09 , activate(n__e()) -> e() 596.95/151.09 , activate(n__i()) -> i() 596.95/151.09 , activate(n__o()) -> o() 596.95/151.09 , activate(n__u()) -> u() 596.95/151.09 , U13(tt()) -> tt() 596.95/151.09 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 596.95/151.09 , isNeList(n____(V1, V2)) -> 596.95/151.09 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.09 , isNeList(n____(V1, V2)) -> 596.95/151.09 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.09 , U21(tt(), V1, V2) -> 596.95/151.09 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.09 , U22(tt(), V1, V2) -> 596.95/151.09 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.09 , U23(tt(), V1, V2) -> 596.95/151.09 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.09 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 596.95/151.09 , U25(tt(), V2) -> U26(isList(activate(V2))) 596.95/151.09 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 596.95/151.09 , isList(n__nil()) -> tt() 596.95/151.09 , isList(n____(V1, V2)) -> 596.95/151.09 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.09 , U26(tt()) -> tt() 596.95/151.09 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 596.95/151.09 , U32(tt(), V) -> U33(isQid(activate(V))) 596.95/151.09 , U33(tt()) -> tt() 596.95/151.09 , isQid(n__a()) -> tt() 596.95/151.09 , isQid(n__e()) -> tt() 596.95/151.09 , isQid(n__i()) -> tt() 596.95/151.09 , isQid(n__o()) -> tt() 596.95/151.09 , isQid(n__u()) -> tt() 596.95/151.09 , U41(tt(), V1, V2) -> 596.95/151.09 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.09 , U42(tt(), V1, V2) -> 596.95/151.09 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.09 , U43(tt(), V1, V2) -> 596.95/151.09 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.09 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 596.95/151.09 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 596.95/151.09 , U46(tt()) -> tt() 596.95/151.09 , U51(tt(), V1, V2) -> 596.95/151.09 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.09 , U52(tt(), V1, V2) -> 596.95/151.09 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.09 , U53(tt(), V1, V2) -> 596.95/151.09 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.09 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 596.95/151.09 , U55(tt(), V2) -> U56(isList(activate(V2))) 596.95/151.09 , U56(tt()) -> tt() 596.95/151.09 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 596.95/151.09 , U62(tt(), V) -> U63(isQid(activate(V))) 596.95/151.09 , U63(tt()) -> tt() 596.95/151.09 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 596.95/151.09 , isPal(n__nil()) -> tt() 596.95/151.09 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 596.95/151.09 , U82(tt(), V) -> U83(isNePal(activate(V))) 596.95/151.09 , U83(tt()) -> tt() 596.95/151.09 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 596.95/151.09 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 596.95/151.09 , U92(tt()) -> tt() 596.95/151.09 , a() -> n__a() 596.95/151.09 , e() -> n__e() 596.95/151.09 , i() -> n__i() 596.95/151.09 , o() -> n__o() 596.95/151.09 , u() -> n__u() } 596.95/151.09 StartTerms: basic terms 596.95/151.09 Strategy: innermost 596.95/151.09 596.95/151.09 This problem was proven YES(O(1),O(n^1)). 596.95/151.09 596.95/151.09 596.95/151.09 Proofs for generated problems: 596.95/151.09 ------------------------------ 596.95/151.09 R) We are left with following problem, upon which TcT provides the 596.95/151.09 certificate YES(O(1),O(n^2)). 596.95/151.09 596.95/151.09 Strict DPs: 596.95/151.09 { isPalListKind^#(n____(V1, V2)) -> 596.95/151.09 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.09 isPalListKind^#(activate(V1))) 596.95/151.09 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 596.95/151.09 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 596.95/151.09 , U71^#(tt(), I, P) -> 596.95/151.09 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.10 isPalListKind^#(activate(I))) 596.95/151.10 , U72^#(tt(), P) -> 596.95/151.10 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 596.95/151.10 , isPal^#(V) -> 596.95/151.10 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 596.95/151.10 isPalListKind^#(activate(V))) 596.95/151.10 , U81^#(tt(), V) -> 596.95/151.10 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 596.95/151.10 isPalListKind^#(activate(V))) 596.95/151.10 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 596.95/151.10 , isNePal^#(V) -> 596.95/151.10 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 596.95/151.10 isPalListKind^#(activate(V))) } 596.95/151.10 Weak DPs: 596.95/151.10 { U11^#(tt(), V) -> 596.95/151.10 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 596.95/151.10 isPalListKind^#(activate(V))) 596.95/151.10 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 596.95/151.10 , isNeList^#(V) -> 596.95/151.10 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 596.95/151.10 isPalListKind^#(activate(V))) 596.95/151.10 , isNeList^#(n____(V1, V2)) -> 596.95/151.10 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.10 isPalListKind^#(activate(V1))) 596.95/151.10 , isNeList^#(n____(V1, V2)) -> 596.95/151.10 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.10 isPalListKind^#(activate(V1))) 596.95/151.10 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 596.95/151.10 , U41^#(tt(), V1, V2) -> 596.95/151.10 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 596.95/151.10 isPalListKind^#(activate(V1))) 596.95/151.10 , U51^#(tt(), V1, V2) -> 596.95/151.10 c_10(U52^#(isPalListKind(activate(V1)), 596.95/151.10 activate(V1), 596.95/151.10 activate(V2)), 596.95/151.10 isPalListKind^#(activate(V1))) 596.95/151.10 , U21^#(tt(), V1, V2) -> 596.95/151.10 c_11(U22^#(isPalListKind(activate(V1)), 596.95/151.10 activate(V1), 596.95/151.10 activate(V2)), 596.95/151.10 isPalListKind^#(activate(V1))) 596.95/151.10 , U22^#(tt(), V1, V2) -> 596.95/151.10 c_12(U23^#(isPalListKind(activate(V2)), 596.95/151.10 activate(V1), 596.95/151.10 activate(V2)), 596.95/151.10 isPalListKind^#(activate(V2))) 596.95/151.10 , U23^#(tt(), V1, V2) -> 596.95/151.10 c_13(U24^#(isPalListKind(activate(V2)), 596.95/151.10 activate(V1), 596.95/151.10 activate(V2)), 596.95/151.10 isPalListKind^#(activate(V2))) 596.95/151.10 , U24^#(tt(), V1, V2) -> 596.95/151.10 c_14(U25^#(isList(activate(V1)), activate(V2)), 596.95/151.10 isList^#(activate(V1))) 596.95/151.10 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 596.95/151.10 , isList^#(V) -> 596.95/151.10 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 596.95/151.10 isPalListKind^#(activate(V))) 596.95/151.10 , isList^#(n____(V1, V2)) -> 596.95/151.10 c_17(U21^#(isPalListKind(activate(V1)), 596.95/151.10 activate(V1), 596.95/151.10 activate(V2)), 596.95/151.10 isPalListKind^#(activate(V1))) 596.95/151.10 , U42^#(tt(), V1, V2) -> 596.95/151.10 c_18(U43^#(isPalListKind(activate(V2)), 596.95/151.10 activate(V1), 596.95/151.10 activate(V2)), 596.95/151.10 isPalListKind^#(activate(V2))) 596.95/151.10 , U43^#(tt(), V1, V2) -> 596.95/151.10 c_19(U44^#(isPalListKind(activate(V2)), 596.95/151.10 activate(V1), 596.95/151.10 activate(V2)), 596.95/151.10 isPalListKind^#(activate(V2))) 596.95/151.10 , U44^#(tt(), V1, V2) -> 596.95/151.10 c_20(U45^#(isList(activate(V1)), activate(V2)), 596.95/151.10 isList^#(activate(V1))) 596.95/151.10 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 596.95/151.10 , U52^#(tt(), V1, V2) -> 596.95/151.10 c_22(U53^#(isPalListKind(activate(V2)), 596.95/151.10 activate(V1), 596.95/151.10 activate(V2)), 596.95/151.10 isPalListKind^#(activate(V2))) 596.95/151.10 , U53^#(tt(), V1, V2) -> 596.95/151.10 c_23(U54^#(isPalListKind(activate(V2)), 596.95/151.10 activate(V1), 596.95/151.10 activate(V2)), 596.95/151.10 isPalListKind^#(activate(V2))) 596.95/151.10 , U54^#(tt(), V1, V2) -> 596.95/151.10 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 596.95/151.10 isNeList^#(activate(V1))) 596.95/151.10 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 596.95/151.10 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) } 596.95/151.10 Weak Trs: 596.95/151.10 { __(X1, X2) -> n____(X1, X2) 596.95/151.10 , nil() -> n__nil() 596.95/151.10 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 596.95/151.10 , U12(tt(), V) -> U13(isNeList(activate(V))) 596.95/151.10 , isPalListKind(n__nil()) -> tt() 596.95/151.10 , isPalListKind(n____(V1, V2)) -> 596.95/151.10 U91(isPalListKind(activate(V1)), activate(V2)) 596.95/151.10 , isPalListKind(n__a()) -> tt() 596.95/151.10 , isPalListKind(n__e()) -> tt() 596.95/151.10 , isPalListKind(n__i()) -> tt() 596.95/151.10 , isPalListKind(n__o()) -> tt() 596.95/151.10 , isPalListKind(n__u()) -> tt() 596.95/151.10 , activate(X) -> X 596.95/151.10 , activate(n__nil()) -> nil() 596.95/151.10 , activate(n____(X1, X2)) -> __(X1, X2) 596.95/151.10 , activate(n__a()) -> a() 596.95/151.10 , activate(n__e()) -> e() 596.95/151.10 , activate(n__i()) -> i() 596.95/151.10 , activate(n__o()) -> o() 596.95/151.10 , activate(n__u()) -> u() 596.95/151.10 , U13(tt()) -> tt() 596.95/151.10 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 596.95/151.10 , isNeList(n____(V1, V2)) -> 596.95/151.10 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.10 , isNeList(n____(V1, V2)) -> 596.95/151.10 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.10 , U21(tt(), V1, V2) -> 596.95/151.10 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.10 , U22(tt(), V1, V2) -> 596.95/151.10 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.10 , U23(tt(), V1, V2) -> 596.95/151.10 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.10 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 596.95/151.10 , U25(tt(), V2) -> U26(isList(activate(V2))) 596.95/151.10 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 596.95/151.10 , isList(n__nil()) -> tt() 596.95/151.10 , isList(n____(V1, V2)) -> 596.95/151.10 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.10 , U26(tt()) -> tt() 596.95/151.10 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 596.95/151.10 , U32(tt(), V) -> U33(isQid(activate(V))) 596.95/151.10 , U33(tt()) -> tt() 596.95/151.10 , isQid(n__a()) -> tt() 596.95/151.10 , isQid(n__e()) -> tt() 596.95/151.10 , isQid(n__i()) -> tt() 596.95/151.10 , isQid(n__o()) -> tt() 596.95/151.10 , isQid(n__u()) -> tt() 596.95/151.10 , U41(tt(), V1, V2) -> 596.95/151.10 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.10 , U42(tt(), V1, V2) -> 596.95/151.10 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.10 , U43(tt(), V1, V2) -> 596.95/151.10 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.10 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 596.95/151.10 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 596.95/151.10 , U46(tt()) -> tt() 596.95/151.10 , U51(tt(), V1, V2) -> 596.95/151.10 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 596.95/151.10 , U52(tt(), V1, V2) -> 596.95/151.10 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.10 , U53(tt(), V1, V2) -> 596.95/151.10 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 596.95/151.10 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 596.95/151.10 , U55(tt(), V2) -> U56(isList(activate(V2))) 596.95/151.10 , U56(tt()) -> tt() 596.95/151.10 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 596.95/151.10 , U62(tt(), V) -> U63(isQid(activate(V))) 596.95/151.10 , U63(tt()) -> tt() 596.95/151.10 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 596.95/151.10 , isPal(n__nil()) -> tt() 596.95/151.10 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 596.95/151.10 , U82(tt(), V) -> U83(isNePal(activate(V))) 596.95/151.10 , U83(tt()) -> tt() 596.95/151.10 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 596.95/151.10 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 596.95/151.10 , U92(tt()) -> tt() 596.95/151.10 , a() -> n__a() 596.95/151.10 , e() -> n__e() 596.95/151.10 , i() -> n__i() 596.95/151.10 , o() -> n__o() 596.95/151.10 , u() -> n__u() } 596.95/151.10 Obligation: 596.95/151.10 innermost runtime complexity 596.95/151.10 Answer: 596.95/151.10 YES(O(1),O(n^2)) 596.95/151.10 596.95/151.10 We analyse the complexity of following sub-problems (R) and (S). 596.95/151.10 Problem (S) is obtained from the input problem by shifting strict 596.95/151.10 rules from (R) into the weak component: 596.95/151.10 596.95/151.10 Problem (R): 596.95/151.10 ------------ 596.95/151.10 Strict DPs: 596.95/151.10 { isPalListKind^#(n____(V1, V2)) -> 596.95/151.10 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 596.95/151.10 isPalListKind^#(activate(V1))) 596.95/151.10 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 596.95/151.10 , U71^#(tt(), I, P) -> 596.95/151.10 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 596.95/151.10 isPalListKind^#(activate(I))) 596.95/151.10 , U72^#(tt(), P) -> 596.95/151.10 c_28(U73^#(isPal(activate(P)), activate(P)), 596.95/151.10 isPal^#(activate(P))) } 596.95/151.10 Weak DPs: 596.95/151.10 { U11^#(tt(), V) -> 597.19/151.10 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.10 isPalListKind^#(activate(V))) 597.19/151.10 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.10 , isNeList^#(V) -> 597.19/151.10 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.19/151.10 isPalListKind^#(activate(V))) 597.19/151.10 , isNeList^#(n____(V1, V2)) -> 597.19/151.10 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.10 isPalListKind^#(activate(V1))) 597.19/151.10 , isNeList^#(n____(V1, V2)) -> 597.19/151.10 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.10 isPalListKind^#(activate(V1))) 597.19/151.10 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.19/151.10 , U41^#(tt(), V1, V2) -> 597.19/151.10 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.10 isPalListKind^#(activate(V1))) 597.19/151.10 , U51^#(tt(), V1, V2) -> 597.19/151.10 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.10 activate(V1), 597.19/151.10 activate(V2)), 597.19/151.10 isPalListKind^#(activate(V1))) 597.19/151.10 , U21^#(tt(), V1, V2) -> 597.19/151.10 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.10 activate(V1), 597.19/151.10 activate(V2)), 597.19/151.10 isPalListKind^#(activate(V1))) 597.19/151.10 , U22^#(tt(), V1, V2) -> 597.19/151.10 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.10 activate(V1), 597.19/151.10 activate(V2)), 597.19/151.10 isPalListKind^#(activate(V2))) 597.19/151.10 , U23^#(tt(), V1, V2) -> 597.19/151.10 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.10 activate(V1), 597.19/151.10 activate(V2)), 597.19/151.10 isPalListKind^#(activate(V2))) 597.19/151.10 , U24^#(tt(), V1, V2) -> 597.19/151.10 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.10 isList^#(activate(V1))) 597.19/151.10 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.10 , isList^#(V) -> 597.19/151.10 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.10 isPalListKind^#(activate(V))) 597.19/151.10 , isList^#(n____(V1, V2)) -> 597.19/151.10 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.10 activate(V1), 597.19/151.10 activate(V2)), 597.19/151.10 isPalListKind^#(activate(V1))) 597.19/151.10 , U42^#(tt(), V1, V2) -> 597.19/151.10 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.10 activate(V1), 597.19/151.10 activate(V2)), 597.19/151.10 isPalListKind^#(activate(V2))) 597.19/151.10 , U43^#(tt(), V1, V2) -> 597.19/151.10 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.10 activate(V1), 597.19/151.10 activate(V2)), 597.19/151.10 isPalListKind^#(activate(V2))) 597.19/151.10 , U44^#(tt(), V1, V2) -> 597.19/151.10 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.10 isList^#(activate(V1))) 597.19/151.10 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.10 , U52^#(tt(), V1, V2) -> 597.19/151.10 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.10 activate(V1), 597.19/151.10 activate(V2)), 597.19/151.10 isPalListKind^#(activate(V2))) 597.19/151.10 , U53^#(tt(), V1, V2) -> 597.19/151.10 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.10 activate(V1), 597.19/151.10 activate(V2)), 597.19/151.10 isPalListKind^#(activate(V2))) 597.19/151.10 , U54^#(tt(), V1, V2) -> 597.19/151.10 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.10 isNeList^#(activate(V1))) 597.19/151.10 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.10 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.10 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.10 , isPal^#(V) -> 597.19/151.10 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.10 isPalListKind^#(activate(V))) 597.19/151.10 , U81^#(tt(), V) -> 597.19/151.10 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.10 isPalListKind^#(activate(V))) 597.19/151.10 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.19/151.10 , isNePal^#(V) -> 597.19/151.10 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.10 isPalListKind^#(activate(V))) } 597.19/151.10 Weak Trs: 597.19/151.10 { __(X1, X2) -> n____(X1, X2) 597.19/151.10 , nil() -> n__nil() 597.19/151.10 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.19/151.10 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.19/151.10 , isPalListKind(n__nil()) -> tt() 597.19/151.10 , isPalListKind(n____(V1, V2)) -> 597.19/151.10 U91(isPalListKind(activate(V1)), activate(V2)) 597.19/151.10 , isPalListKind(n__a()) -> tt() 597.19/151.10 , isPalListKind(n__e()) -> tt() 597.19/151.10 , isPalListKind(n__i()) -> tt() 597.19/151.10 , isPalListKind(n__o()) -> tt() 597.19/151.10 , isPalListKind(n__u()) -> tt() 597.19/151.10 , activate(X) -> X 597.19/151.10 , activate(n__nil()) -> nil() 597.19/151.10 , activate(n____(X1, X2)) -> __(X1, X2) 597.19/151.10 , activate(n__a()) -> a() 597.19/151.10 , activate(n__e()) -> e() 597.19/151.10 , activate(n__i()) -> i() 597.19/151.10 , activate(n__o()) -> o() 597.19/151.10 , activate(n__u()) -> u() 597.19/151.10 , U13(tt()) -> tt() 597.19/151.10 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.19/151.10 , isNeList(n____(V1, V2)) -> 597.19/151.10 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.10 , isNeList(n____(V1, V2)) -> 597.19/151.10 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.10 , U21(tt(), V1, V2) -> 597.19/151.10 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.10 , U22(tt(), V1, V2) -> 597.19/151.10 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.10 , U23(tt(), V1, V2) -> 597.19/151.10 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.10 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.19/151.10 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.19/151.10 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.19/151.10 , isList(n__nil()) -> tt() 597.19/151.10 , isList(n____(V1, V2)) -> 597.19/151.10 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.10 , U26(tt()) -> tt() 597.19/151.10 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.19/151.10 , U32(tt(), V) -> U33(isQid(activate(V))) 597.19/151.10 , U33(tt()) -> tt() 597.19/151.10 , isQid(n__a()) -> tt() 597.19/151.10 , isQid(n__e()) -> tt() 597.19/151.10 , isQid(n__i()) -> tt() 597.19/151.10 , isQid(n__o()) -> tt() 597.19/151.10 , isQid(n__u()) -> tt() 597.19/151.10 , U41(tt(), V1, V2) -> 597.19/151.10 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.10 , U42(tt(), V1, V2) -> 597.19/151.10 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.10 , U43(tt(), V1, V2) -> 597.19/151.10 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.10 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.19/151.10 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.19/151.10 , U46(tt()) -> tt() 597.19/151.10 , U51(tt(), V1, V2) -> 597.19/151.10 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.10 , U52(tt(), V1, V2) -> 597.19/151.10 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.10 , U53(tt(), V1, V2) -> 597.19/151.10 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.10 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.19/151.10 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.19/151.10 , U56(tt()) -> tt() 597.19/151.10 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.19/151.10 , U62(tt(), V) -> U63(isQid(activate(V))) 597.19/151.10 , U63(tt()) -> tt() 597.19/151.10 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.19/151.10 , isPal(n__nil()) -> tt() 597.19/151.10 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.19/151.10 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.19/151.10 , U83(tt()) -> tt() 597.19/151.10 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.19/151.10 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.19/151.10 , U92(tt()) -> tt() 597.19/151.10 , a() -> n__a() 597.19/151.10 , e() -> n__e() 597.19/151.10 , i() -> n__i() 597.19/151.10 , o() -> n__o() 597.19/151.10 , u() -> n__u() } 597.19/151.10 StartTerms: basic terms 597.19/151.10 Strategy: innermost 597.19/151.10 597.19/151.10 Problem (S): 597.19/151.10 ------------ 597.19/151.10 Strict DPs: 597.19/151.10 { U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.10 , isPal^#(V) -> 597.19/151.10 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.10 isPalListKind^#(activate(V))) 597.19/151.10 , U81^#(tt(), V) -> 597.19/151.10 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.10 isPalListKind^#(activate(V))) 597.19/151.10 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.19/151.10 , isNePal^#(V) -> 597.19/151.10 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.10 isPalListKind^#(activate(V))) } 597.19/151.11 Weak DPs: 597.19/151.11 { U11^#(tt(), V) -> 597.19/151.11 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.11 isPalListKind^#(activate(V))) 597.19/151.11 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.11 , isPalListKind^#(n____(V1, V2)) -> 597.19/151.11 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , isNeList^#(V) -> 597.19/151.11 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.19/151.11 isPalListKind^#(activate(V))) 597.19/151.11 , isNeList^#(n____(V1, V2)) -> 597.19/151.11 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , isNeList^#(n____(V1, V2)) -> 597.19/151.11 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.19/151.11 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.19/151.11 , U41^#(tt(), V1, V2) -> 597.19/151.11 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , U51^#(tt(), V1, V2) -> 597.19/151.11 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , U21^#(tt(), V1, V2) -> 597.19/151.11 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , U22^#(tt(), V1, V2) -> 597.19/151.11 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U23^#(tt(), V1, V2) -> 597.19/151.11 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U24^#(tt(), V1, V2) -> 597.19/151.11 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.11 isList^#(activate(V1))) 597.19/151.11 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.11 , isList^#(V) -> 597.19/151.11 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.11 isPalListKind^#(activate(V))) 597.19/151.11 , isList^#(n____(V1, V2)) -> 597.19/151.11 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , U42^#(tt(), V1, V2) -> 597.19/151.11 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U43^#(tt(), V1, V2) -> 597.19/151.11 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U44^#(tt(), V1, V2) -> 597.19/151.11 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.11 isList^#(activate(V1))) 597.19/151.11 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.11 , U52^#(tt(), V1, V2) -> 597.19/151.11 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U53^#(tt(), V1, V2) -> 597.19/151.11 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U54^#(tt(), V1, V2) -> 597.19/151.11 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.11 isNeList^#(activate(V1))) 597.19/151.11 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.11 , U71^#(tt(), I, P) -> 597.19/151.11 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.11 isPalListKind^#(activate(I))) 597.19/151.11 , U72^#(tt(), P) -> 597.19/151.11 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.11 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) } 597.19/151.11 Weak Trs: 597.19/151.11 { __(X1, X2) -> n____(X1, X2) 597.19/151.11 , nil() -> n__nil() 597.19/151.11 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.19/151.11 , isPalListKind(n__nil()) -> tt() 597.19/151.11 , isPalListKind(n____(V1, V2)) -> 597.19/151.11 U91(isPalListKind(activate(V1)), activate(V2)) 597.19/151.11 , isPalListKind(n__a()) -> tt() 597.19/151.11 , isPalListKind(n__e()) -> tt() 597.19/151.11 , isPalListKind(n__i()) -> tt() 597.19/151.11 , isPalListKind(n__o()) -> tt() 597.19/151.11 , isPalListKind(n__u()) -> tt() 597.19/151.11 , activate(X) -> X 597.19/151.11 , activate(n__nil()) -> nil() 597.19/151.11 , activate(n____(X1, X2)) -> __(X1, X2) 597.19/151.11 , activate(n__a()) -> a() 597.19/151.11 , activate(n__e()) -> e() 597.19/151.11 , activate(n__i()) -> i() 597.19/151.11 , activate(n__o()) -> o() 597.19/151.11 , activate(n__u()) -> u() 597.19/151.11 , U13(tt()) -> tt() 597.19/151.11 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , isNeList(n____(V1, V2)) -> 597.19/151.11 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , isNeList(n____(V1, V2)) -> 597.19/151.11 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , U21(tt(), V1, V2) -> 597.19/151.11 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , U22(tt(), V1, V2) -> 597.19/151.11 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U23(tt(), V1, V2) -> 597.19/151.11 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.19/151.11 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.19/151.11 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , isList(n__nil()) -> tt() 597.19/151.11 , isList(n____(V1, V2)) -> 597.19/151.11 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , U26(tt()) -> tt() 597.19/151.11 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , U32(tt(), V) -> U33(isQid(activate(V))) 597.19/151.11 , U33(tt()) -> tt() 597.19/151.11 , isQid(n__a()) -> tt() 597.19/151.11 , isQid(n__e()) -> tt() 597.19/151.11 , isQid(n__i()) -> tt() 597.19/151.11 , isQid(n__o()) -> tt() 597.19/151.11 , isQid(n__u()) -> tt() 597.19/151.11 , U41(tt(), V1, V2) -> 597.19/151.11 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , U42(tt(), V1, V2) -> 597.19/151.11 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U43(tt(), V1, V2) -> 597.19/151.11 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.19/151.11 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.19/151.11 , U46(tt()) -> tt() 597.19/151.11 , U51(tt(), V1, V2) -> 597.19/151.11 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , U52(tt(), V1, V2) -> 597.19/151.11 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U53(tt(), V1, V2) -> 597.19/151.11 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.19/151.11 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.19/151.11 , U56(tt()) -> tt() 597.19/151.11 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , U62(tt(), V) -> U63(isQid(activate(V))) 597.19/151.11 , U63(tt()) -> tt() 597.19/151.11 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , isPal(n__nil()) -> tt() 597.19/151.11 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.19/151.11 , U83(tt()) -> tt() 597.19/151.11 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.19/151.11 , U92(tt()) -> tt() 597.19/151.11 , a() -> n__a() 597.19/151.11 , e() -> n__e() 597.19/151.11 , i() -> n__i() 597.19/151.11 , o() -> n__o() 597.19/151.11 , u() -> n__u() } 597.19/151.11 StartTerms: basic terms 597.19/151.11 Strategy: innermost 597.19/151.11 597.19/151.11 Overall, the transformation results in the following sub-problem(s): 597.19/151.11 597.19/151.11 Generated new problems: 597.19/151.11 ----------------------- 597.19/151.11 R) Strict DPs: 597.19/151.11 { isPalListKind^#(n____(V1, V2)) -> 597.19/151.11 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.19/151.11 , U71^#(tt(), I, P) -> 597.19/151.11 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.11 isPalListKind^#(activate(I))) 597.19/151.11 , U72^#(tt(), P) -> 597.19/151.11 c_28(U73^#(isPal(activate(P)), activate(P)), 597.19/151.11 isPal^#(activate(P))) } 597.19/151.11 Weak DPs: 597.19/151.11 { U11^#(tt(), V) -> 597.19/151.11 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.11 isPalListKind^#(activate(V))) 597.19/151.11 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.11 , isNeList^#(V) -> 597.19/151.11 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.19/151.11 isPalListKind^#(activate(V))) 597.19/151.11 , isNeList^#(n____(V1, V2)) -> 597.19/151.11 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , isNeList^#(n____(V1, V2)) -> 597.19/151.11 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.19/151.11 , U41^#(tt(), V1, V2) -> 597.19/151.11 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , U51^#(tt(), V1, V2) -> 597.19/151.11 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , U21^#(tt(), V1, V2) -> 597.19/151.11 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , U22^#(tt(), V1, V2) -> 597.19/151.11 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U23^#(tt(), V1, V2) -> 597.19/151.11 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U24^#(tt(), V1, V2) -> 597.19/151.11 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.11 isList^#(activate(V1))) 597.19/151.11 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.11 , isList^#(V) -> 597.19/151.11 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.11 isPalListKind^#(activate(V))) 597.19/151.11 , isList^#(n____(V1, V2)) -> 597.19/151.11 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , U42^#(tt(), V1, V2) -> 597.19/151.11 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U43^#(tt(), V1, V2) -> 597.19/151.11 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U44^#(tt(), V1, V2) -> 597.19/151.11 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.11 isList^#(activate(V1))) 597.19/151.11 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.11 , U52^#(tt(), V1, V2) -> 597.19/151.11 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U53^#(tt(), V1, V2) -> 597.19/151.11 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U54^#(tt(), V1, V2) -> 597.19/151.11 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.11 isNeList^#(activate(V1))) 597.19/151.11 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.11 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.11 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.11 , isPal^#(V) -> 597.19/151.11 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.11 isPalListKind^#(activate(V))) 597.19/151.11 , U81^#(tt(), V) -> 597.19/151.11 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.11 isPalListKind^#(activate(V))) 597.19/151.11 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.19/151.11 , isNePal^#(V) -> 597.19/151.11 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.11 isPalListKind^#(activate(V))) } 597.19/151.11 Weak Trs: 597.19/151.11 { __(X1, X2) -> n____(X1, X2) 597.19/151.11 , nil() -> n__nil() 597.19/151.11 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.19/151.11 , isPalListKind(n__nil()) -> tt() 597.19/151.11 , isPalListKind(n____(V1, V2)) -> 597.19/151.11 U91(isPalListKind(activate(V1)), activate(V2)) 597.19/151.11 , isPalListKind(n__a()) -> tt() 597.19/151.11 , isPalListKind(n__e()) -> tt() 597.19/151.11 , isPalListKind(n__i()) -> tt() 597.19/151.11 , isPalListKind(n__o()) -> tt() 597.19/151.11 , isPalListKind(n__u()) -> tt() 597.19/151.11 , activate(X) -> X 597.19/151.11 , activate(n__nil()) -> nil() 597.19/151.11 , activate(n____(X1, X2)) -> __(X1, X2) 597.19/151.11 , activate(n__a()) -> a() 597.19/151.11 , activate(n__e()) -> e() 597.19/151.11 , activate(n__i()) -> i() 597.19/151.11 , activate(n__o()) -> o() 597.19/151.11 , activate(n__u()) -> u() 597.19/151.11 , U13(tt()) -> tt() 597.19/151.11 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , isNeList(n____(V1, V2)) -> 597.19/151.11 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , isNeList(n____(V1, V2)) -> 597.19/151.11 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , U21(tt(), V1, V2) -> 597.19/151.11 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , U22(tt(), V1, V2) -> 597.19/151.11 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U23(tt(), V1, V2) -> 597.19/151.11 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.19/151.11 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.19/151.11 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , isList(n__nil()) -> tt() 597.19/151.11 , isList(n____(V1, V2)) -> 597.19/151.11 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , U26(tt()) -> tt() 597.19/151.11 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , U32(tt(), V) -> U33(isQid(activate(V))) 597.19/151.11 , U33(tt()) -> tt() 597.19/151.11 , isQid(n__a()) -> tt() 597.19/151.11 , isQid(n__e()) -> tt() 597.19/151.11 , isQid(n__i()) -> tt() 597.19/151.11 , isQid(n__o()) -> tt() 597.19/151.11 , isQid(n__u()) -> tt() 597.19/151.11 , U41(tt(), V1, V2) -> 597.19/151.11 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , U42(tt(), V1, V2) -> 597.19/151.11 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U43(tt(), V1, V2) -> 597.19/151.11 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.19/151.11 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.19/151.11 , U46(tt()) -> tt() 597.19/151.11 , U51(tt(), V1, V2) -> 597.19/151.11 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , U52(tt(), V1, V2) -> 597.19/151.11 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U53(tt(), V1, V2) -> 597.19/151.11 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.19/151.11 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.19/151.11 , U56(tt()) -> tt() 597.19/151.11 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , U62(tt(), V) -> U63(isQid(activate(V))) 597.19/151.11 , U63(tt()) -> tt() 597.19/151.11 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , isPal(n__nil()) -> tt() 597.19/151.11 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.19/151.11 , U83(tt()) -> tt() 597.19/151.11 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.19/151.11 , U92(tt()) -> tt() 597.19/151.11 , a() -> n__a() 597.19/151.11 , e() -> n__e() 597.19/151.11 , i() -> n__i() 597.19/151.11 , o() -> n__o() 597.19/151.11 , u() -> n__u() } 597.19/151.11 StartTerms: basic terms 597.19/151.11 Strategy: innermost 597.19/151.11 597.19/151.11 This problem was proven YES(O(1),O(n^2)). 597.19/151.11 597.19/151.11 S) Strict DPs: 597.19/151.11 { U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.11 , isPal^#(V) -> 597.19/151.11 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.11 isPalListKind^#(activate(V))) 597.19/151.11 , U81^#(tt(), V) -> 597.19/151.11 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.11 isPalListKind^#(activate(V))) 597.19/151.11 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.19/151.11 , isNePal^#(V) -> 597.19/151.11 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.11 isPalListKind^#(activate(V))) } 597.19/151.11 Weak DPs: 597.19/151.11 { U11^#(tt(), V) -> 597.19/151.11 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.11 isPalListKind^#(activate(V))) 597.19/151.11 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.11 , isPalListKind^#(n____(V1, V2)) -> 597.19/151.11 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , isNeList^#(V) -> 597.19/151.11 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.19/151.11 isPalListKind^#(activate(V))) 597.19/151.11 , isNeList^#(n____(V1, V2)) -> 597.19/151.11 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , isNeList^#(n____(V1, V2)) -> 597.19/151.11 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.19/151.11 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.19/151.11 , U41^#(tt(), V1, V2) -> 597.19/151.11 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , U51^#(tt(), V1, V2) -> 597.19/151.11 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , U21^#(tt(), V1, V2) -> 597.19/151.11 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , U22^#(tt(), V1, V2) -> 597.19/151.11 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U23^#(tt(), V1, V2) -> 597.19/151.11 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U24^#(tt(), V1, V2) -> 597.19/151.11 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.11 isList^#(activate(V1))) 597.19/151.11 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.11 , isList^#(V) -> 597.19/151.11 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.11 isPalListKind^#(activate(V))) 597.19/151.11 , isList^#(n____(V1, V2)) -> 597.19/151.11 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V1))) 597.19/151.11 , U42^#(tt(), V1, V2) -> 597.19/151.11 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U43^#(tt(), V1, V2) -> 597.19/151.11 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U44^#(tt(), V1, V2) -> 597.19/151.11 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.11 isList^#(activate(V1))) 597.19/151.11 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.11 , U52^#(tt(), V1, V2) -> 597.19/151.11 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U53^#(tt(), V1, V2) -> 597.19/151.11 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.11 activate(V1), 597.19/151.11 activate(V2)), 597.19/151.11 isPalListKind^#(activate(V2))) 597.19/151.11 , U54^#(tt(), V1, V2) -> 597.19/151.11 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.11 isNeList^#(activate(V1))) 597.19/151.11 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.11 , U71^#(tt(), I, P) -> 597.19/151.11 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.11 isPalListKind^#(activate(I))) 597.19/151.11 , U72^#(tt(), P) -> 597.19/151.11 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.11 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) } 597.19/151.11 Weak Trs: 597.19/151.11 { __(X1, X2) -> n____(X1, X2) 597.19/151.11 , nil() -> n__nil() 597.19/151.11 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.19/151.11 , isPalListKind(n__nil()) -> tt() 597.19/151.11 , isPalListKind(n____(V1, V2)) -> 597.19/151.11 U91(isPalListKind(activate(V1)), activate(V2)) 597.19/151.11 , isPalListKind(n__a()) -> tt() 597.19/151.11 , isPalListKind(n__e()) -> tt() 597.19/151.11 , isPalListKind(n__i()) -> tt() 597.19/151.11 , isPalListKind(n__o()) -> tt() 597.19/151.11 , isPalListKind(n__u()) -> tt() 597.19/151.11 , activate(X) -> X 597.19/151.11 , activate(n__nil()) -> nil() 597.19/151.11 , activate(n____(X1, X2)) -> __(X1, X2) 597.19/151.11 , activate(n__a()) -> a() 597.19/151.11 , activate(n__e()) -> e() 597.19/151.11 , activate(n__i()) -> i() 597.19/151.11 , activate(n__o()) -> o() 597.19/151.11 , activate(n__u()) -> u() 597.19/151.11 , U13(tt()) -> tt() 597.19/151.11 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , isNeList(n____(V1, V2)) -> 597.19/151.11 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , isNeList(n____(V1, V2)) -> 597.19/151.11 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , U21(tt(), V1, V2) -> 597.19/151.11 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , U22(tt(), V1, V2) -> 597.19/151.11 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U23(tt(), V1, V2) -> 597.19/151.11 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.19/151.11 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.19/151.11 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , isList(n__nil()) -> tt() 597.19/151.11 , isList(n____(V1, V2)) -> 597.19/151.11 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , U26(tt()) -> tt() 597.19/151.11 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , U32(tt(), V) -> U33(isQid(activate(V))) 597.19/151.11 , U33(tt()) -> tt() 597.19/151.11 , isQid(n__a()) -> tt() 597.19/151.11 , isQid(n__e()) -> tt() 597.19/151.11 , isQid(n__i()) -> tt() 597.19/151.11 , isQid(n__o()) -> tt() 597.19/151.11 , isQid(n__u()) -> tt() 597.19/151.11 , U41(tt(), V1, V2) -> 597.19/151.11 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , U42(tt(), V1, V2) -> 597.19/151.11 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U43(tt(), V1, V2) -> 597.19/151.11 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.19/151.11 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.19/151.11 , U46(tt()) -> tt() 597.19/151.11 , U51(tt(), V1, V2) -> 597.19/151.11 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.11 , U52(tt(), V1, V2) -> 597.19/151.11 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U53(tt(), V1, V2) -> 597.19/151.11 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.11 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.19/151.11 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.19/151.11 , U56(tt()) -> tt() 597.19/151.11 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , U62(tt(), V) -> U63(isQid(activate(V))) 597.19/151.11 , U63(tt()) -> tt() 597.19/151.11 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , isPal(n__nil()) -> tt() 597.19/151.11 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.19/151.11 , U83(tt()) -> tt() 597.19/151.11 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.19/151.11 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.19/151.11 , U92(tt()) -> tt() 597.19/151.11 , a() -> n__a() 597.19/151.11 , e() -> n__e() 597.19/151.11 , i() -> n__i() 597.19/151.11 , o() -> n__o() 597.19/151.11 , u() -> n__u() } 597.19/151.11 StartTerms: basic terms 597.19/151.11 Strategy: innermost 597.19/151.11 597.19/151.11 This problem was proven YES(O(1),O(1)). 597.19/151.11 597.19/151.11 597.19/151.11 Proofs for generated problems: 597.19/151.12 ------------------------------ 597.19/151.12 R) We are left with following problem, upon which TcT provides the 597.19/151.12 certificate YES(O(1),O(n^2)). 597.19/151.12 597.19/151.12 Strict DPs: 597.19/151.12 { isPalListKind^#(n____(V1, V2)) -> 597.19/151.12 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.19/151.12 , U71^#(tt(), I, P) -> 597.19/151.12 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.12 isPalListKind^#(activate(I))) 597.19/151.12 , U72^#(tt(), P) -> 597.19/151.12 c_28(U73^#(isPal(activate(P)), activate(P)), 597.19/151.12 isPal^#(activate(P))) } 597.19/151.12 Weak DPs: 597.19/151.12 { U11^#(tt(), V) -> 597.19/151.12 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.12 isPalListKind^#(activate(V))) 597.19/151.12 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.12 , isNeList^#(V) -> 597.19/151.12 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.19/151.12 isPalListKind^#(activate(V))) 597.19/151.12 , isNeList^#(n____(V1, V2)) -> 597.19/151.12 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , isNeList^#(n____(V1, V2)) -> 597.19/151.12 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.19/151.12 , U41^#(tt(), V1, V2) -> 597.19/151.12 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , U51^#(tt(), V1, V2) -> 597.19/151.12 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , U21^#(tt(), V1, V2) -> 597.19/151.12 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , U22^#(tt(), V1, V2) -> 597.19/151.12 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V2))) 597.19/151.12 , U23^#(tt(), V1, V2) -> 597.19/151.12 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V2))) 597.19/151.12 , U24^#(tt(), V1, V2) -> 597.19/151.12 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.12 isList^#(activate(V1))) 597.19/151.12 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.12 , isList^#(V) -> 597.19/151.12 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.12 isPalListKind^#(activate(V))) 597.19/151.12 , isList^#(n____(V1, V2)) -> 597.19/151.12 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , U42^#(tt(), V1, V2) -> 597.19/151.12 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V2))) 597.19/151.12 , U43^#(tt(), V1, V2) -> 597.19/151.12 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V2))) 597.19/151.12 , U44^#(tt(), V1, V2) -> 597.19/151.12 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.12 isList^#(activate(V1))) 597.19/151.12 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.12 , U52^#(tt(), V1, V2) -> 597.19/151.12 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V2))) 597.19/151.12 , U53^#(tt(), V1, V2) -> 597.19/151.12 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V2))) 597.19/151.12 , U54^#(tt(), V1, V2) -> 597.19/151.12 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.12 isNeList^#(activate(V1))) 597.19/151.12 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.12 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.12 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.12 , isPal^#(V) -> 597.19/151.12 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.12 isPalListKind^#(activate(V))) 597.19/151.12 , U81^#(tt(), V) -> 597.19/151.12 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.12 isPalListKind^#(activate(V))) 597.19/151.12 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.19/151.12 , isNePal^#(V) -> 597.19/151.12 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.12 isPalListKind^#(activate(V))) } 597.19/151.12 Weak Trs: 597.19/151.12 { __(X1, X2) -> n____(X1, X2) 597.19/151.12 , nil() -> n__nil() 597.19/151.12 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.19/151.12 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.19/151.12 , isPalListKind(n__nil()) -> tt() 597.19/151.12 , isPalListKind(n____(V1, V2)) -> 597.19/151.12 U91(isPalListKind(activate(V1)), activate(V2)) 597.19/151.12 , isPalListKind(n__a()) -> tt() 597.19/151.12 , isPalListKind(n__e()) -> tt() 597.19/151.12 , isPalListKind(n__i()) -> tt() 597.19/151.12 , isPalListKind(n__o()) -> tt() 597.19/151.12 , isPalListKind(n__u()) -> tt() 597.19/151.12 , activate(X) -> X 597.19/151.12 , activate(n__nil()) -> nil() 597.19/151.12 , activate(n____(X1, X2)) -> __(X1, X2) 597.19/151.12 , activate(n__a()) -> a() 597.19/151.12 , activate(n__e()) -> e() 597.19/151.12 , activate(n__i()) -> i() 597.19/151.12 , activate(n__o()) -> o() 597.19/151.12 , activate(n__u()) -> u() 597.19/151.12 , U13(tt()) -> tt() 597.19/151.12 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.19/151.12 , isNeList(n____(V1, V2)) -> 597.19/151.12 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.12 , isNeList(n____(V1, V2)) -> 597.19/151.12 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.12 , U21(tt(), V1, V2) -> 597.19/151.12 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.12 , U22(tt(), V1, V2) -> 597.19/151.12 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.12 , U23(tt(), V1, V2) -> 597.19/151.12 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.12 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.19/151.12 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.19/151.12 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.19/151.12 , isList(n__nil()) -> tt() 597.19/151.12 , isList(n____(V1, V2)) -> 597.19/151.12 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.12 , U26(tt()) -> tt() 597.19/151.12 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.19/151.12 , U32(tt(), V) -> U33(isQid(activate(V))) 597.19/151.12 , U33(tt()) -> tt() 597.19/151.12 , isQid(n__a()) -> tt() 597.19/151.12 , isQid(n__e()) -> tt() 597.19/151.12 , isQid(n__i()) -> tt() 597.19/151.12 , isQid(n__o()) -> tt() 597.19/151.12 , isQid(n__u()) -> tt() 597.19/151.12 , U41(tt(), V1, V2) -> 597.19/151.12 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.12 , U42(tt(), V1, V2) -> 597.19/151.12 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.12 , U43(tt(), V1, V2) -> 597.19/151.12 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.12 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.19/151.12 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.19/151.12 , U46(tt()) -> tt() 597.19/151.12 , U51(tt(), V1, V2) -> 597.19/151.12 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.12 , U52(tt(), V1, V2) -> 597.19/151.12 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.12 , U53(tt(), V1, V2) -> 597.19/151.12 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.12 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.19/151.12 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.19/151.12 , U56(tt()) -> tt() 597.19/151.12 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.19/151.12 , U62(tt(), V) -> U63(isQid(activate(V))) 597.19/151.12 , U63(tt()) -> tt() 597.19/151.12 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.19/151.12 , isPal(n__nil()) -> tt() 597.19/151.12 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.19/151.12 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.19/151.12 , U83(tt()) -> tt() 597.19/151.12 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.19/151.12 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.19/151.12 , U92(tt()) -> tt() 597.19/151.12 , a() -> n__a() 597.19/151.12 , e() -> n__e() 597.19/151.12 , i() -> n__i() 597.19/151.12 , o() -> n__o() 597.19/151.12 , u() -> n__u() } 597.19/151.12 Obligation: 597.19/151.12 innermost runtime complexity 597.19/151.12 Answer: 597.19/151.12 YES(O(1),O(n^2)) 597.19/151.12 597.19/151.12 We estimate the number of application of {4} by applications of 597.19/151.12 Pre({4}) = {3}. Here rules are labeled as follows: 597.19/151.12 597.19/151.12 DPs: 597.19/151.12 { 1: isPalListKind^#(n____(V1, V2)) -> 597.19/151.12 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , 2: U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.19/151.12 , 3: U71^#(tt(), I, P) -> 597.19/151.12 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.12 isPalListKind^#(activate(I))) 597.19/151.12 , 4: U72^#(tt(), P) -> 597.19/151.12 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.12 , 5: U11^#(tt(), V) -> 597.19/151.12 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.12 isPalListKind^#(activate(V))) 597.19/151.12 , 6: U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.12 , 7: isNeList^#(V) -> 597.19/151.12 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.19/151.12 isPalListKind^#(activate(V))) 597.19/151.12 , 8: isNeList^#(n____(V1, V2)) -> 597.19/151.12 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , 9: isNeList^#(n____(V1, V2)) -> 597.19/151.12 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , 10: U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.19/151.12 , 11: U41^#(tt(), V1, V2) -> 597.19/151.12 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , 12: U51^#(tt(), V1, V2) -> 597.19/151.12 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , 13: U21^#(tt(), V1, V2) -> 597.19/151.12 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , 14: U22^#(tt(), V1, V2) -> 597.19/151.12 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V2))) 597.19/151.12 , 15: U23^#(tt(), V1, V2) -> 597.19/151.12 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V2))) 597.19/151.12 , 16: U24^#(tt(), V1, V2) -> 597.19/151.12 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.12 isList^#(activate(V1))) 597.19/151.12 , 17: U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.12 , 18: isList^#(V) -> 597.19/151.12 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.12 isPalListKind^#(activate(V))) 597.19/151.12 , 19: isList^#(n____(V1, V2)) -> 597.19/151.12 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , 20: U42^#(tt(), V1, V2) -> 597.19/151.12 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V2))) 597.19/151.12 , 21: U43^#(tt(), V1, V2) -> 597.19/151.12 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V2))) 597.19/151.12 , 22: U44^#(tt(), V1, V2) -> 597.19/151.12 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.12 isList^#(activate(V1))) 597.19/151.12 , 23: U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.12 , 24: U52^#(tt(), V1, V2) -> 597.19/151.12 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V2))) 597.19/151.12 , 25: U53^#(tt(), V1, V2) -> 597.19/151.12 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V2))) 597.19/151.12 , 26: U54^#(tt(), V1, V2) -> 597.19/151.12 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.12 isNeList^#(activate(V1))) 597.19/151.12 , 27: U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.12 , 28: U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.12 , 29: U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.12 , 30: isPal^#(V) -> 597.19/151.12 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.12 isPalListKind^#(activate(V))) 597.19/151.12 , 31: U81^#(tt(), V) -> 597.19/151.12 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.12 isPalListKind^#(activate(V))) 597.19/151.12 , 32: U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.19/151.12 , 33: isNePal^#(V) -> 597.19/151.12 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.12 isPalListKind^#(activate(V))) } 597.19/151.12 597.19/151.12 We are left with following problem, upon which TcT provides the 597.19/151.12 certificate YES(O(1),O(n^2)). 597.19/151.12 597.19/151.12 Strict DPs: 597.19/151.12 { isPalListKind^#(n____(V1, V2)) -> 597.19/151.12 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.19/151.12 , U71^#(tt(), I, P) -> 597.19/151.12 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.12 isPalListKind^#(activate(I))) } 597.19/151.12 Weak DPs: 597.19/151.12 { U11^#(tt(), V) -> 597.19/151.12 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.12 isPalListKind^#(activate(V))) 597.19/151.12 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.12 , isNeList^#(V) -> 597.19/151.12 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.19/151.12 isPalListKind^#(activate(V))) 597.19/151.12 , isNeList^#(n____(V1, V2)) -> 597.19/151.12 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , isNeList^#(n____(V1, V2)) -> 597.19/151.12 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.19/151.12 , U41^#(tt(), V1, V2) -> 597.19/151.12 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , U51^#(tt(), V1, V2) -> 597.19/151.12 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , U21^#(tt(), V1, V2) -> 597.19/151.12 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V1))) 597.19/151.12 , U22^#(tt(), V1, V2) -> 597.19/151.12 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V2))) 597.19/151.12 , U23^#(tt(), V1, V2) -> 597.19/151.12 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.12 activate(V1), 597.19/151.12 activate(V2)), 597.19/151.12 isPalListKind^#(activate(V2))) 597.19/151.12 , U24^#(tt(), V1, V2) -> 597.19/151.12 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.12 isList^#(activate(V1))) 597.19/151.12 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.12 , isList^#(V) -> 597.19/151.12 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.12 isPalListKind^#(activate(V))) 597.19/151.12 , isList^#(n____(V1, V2)) -> 597.19/151.12 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.12 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V1))) 597.19/151.13 , U42^#(tt(), V1, V2) -> 597.19/151.13 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V2))) 597.19/151.13 , U43^#(tt(), V1, V2) -> 597.19/151.13 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V2))) 597.19/151.13 , U44^#(tt(), V1, V2) -> 597.19/151.13 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.13 isList^#(activate(V1))) 597.19/151.13 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.13 , U52^#(tt(), V1, V2) -> 597.19/151.13 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V2))) 597.19/151.13 , U53^#(tt(), V1, V2) -> 597.19/151.13 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V2))) 597.19/151.13 , U54^#(tt(), V1, V2) -> 597.19/151.13 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.13 isNeList^#(activate(V1))) 597.19/151.13 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.13 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.13 , U72^#(tt(), P) -> 597.19/151.13 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.13 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.13 , isPal^#(V) -> 597.19/151.13 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.13 isPalListKind^#(activate(V))) 597.19/151.13 , U81^#(tt(), V) -> 597.19/151.13 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.13 isPalListKind^#(activate(V))) 597.19/151.13 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.19/151.13 , isNePal^#(V) -> 597.19/151.13 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.13 isPalListKind^#(activate(V))) } 597.19/151.13 Weak Trs: 597.19/151.13 { __(X1, X2) -> n____(X1, X2) 597.19/151.13 , nil() -> n__nil() 597.19/151.13 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.19/151.13 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.19/151.13 , isPalListKind(n__nil()) -> tt() 597.19/151.13 , isPalListKind(n____(V1, V2)) -> 597.19/151.13 U91(isPalListKind(activate(V1)), activate(V2)) 597.19/151.13 , isPalListKind(n__a()) -> tt() 597.19/151.13 , isPalListKind(n__e()) -> tt() 597.19/151.13 , isPalListKind(n__i()) -> tt() 597.19/151.13 , isPalListKind(n__o()) -> tt() 597.19/151.13 , isPalListKind(n__u()) -> tt() 597.19/151.13 , activate(X) -> X 597.19/151.13 , activate(n__nil()) -> nil() 597.19/151.13 , activate(n____(X1, X2)) -> __(X1, X2) 597.19/151.13 , activate(n__a()) -> a() 597.19/151.13 , activate(n__e()) -> e() 597.19/151.13 , activate(n__i()) -> i() 597.19/151.13 , activate(n__o()) -> o() 597.19/151.13 , activate(n__u()) -> u() 597.19/151.13 , U13(tt()) -> tt() 597.19/151.13 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.19/151.13 , isNeList(n____(V1, V2)) -> 597.19/151.13 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , isNeList(n____(V1, V2)) -> 597.19/151.13 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , U21(tt(), V1, V2) -> 597.19/151.13 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , U22(tt(), V1, V2) -> 597.19/151.13 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.13 , U23(tt(), V1, V2) -> 597.19/151.13 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.13 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.19/151.13 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.19/151.13 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.19/151.13 , isList(n__nil()) -> tt() 597.19/151.13 , isList(n____(V1, V2)) -> 597.19/151.13 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , U26(tt()) -> tt() 597.19/151.13 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.19/151.13 , U32(tt(), V) -> U33(isQid(activate(V))) 597.19/151.13 , U33(tt()) -> tt() 597.19/151.13 , isQid(n__a()) -> tt() 597.19/151.13 , isQid(n__e()) -> tt() 597.19/151.13 , isQid(n__i()) -> tt() 597.19/151.13 , isQid(n__o()) -> tt() 597.19/151.13 , isQid(n__u()) -> tt() 597.19/151.13 , U41(tt(), V1, V2) -> 597.19/151.13 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , U42(tt(), V1, V2) -> 597.19/151.13 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.13 , U43(tt(), V1, V2) -> 597.19/151.13 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.13 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.19/151.13 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.19/151.13 , U46(tt()) -> tt() 597.19/151.13 , U51(tt(), V1, V2) -> 597.19/151.13 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , U52(tt(), V1, V2) -> 597.19/151.13 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.13 , U53(tt(), V1, V2) -> 597.19/151.13 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.13 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.19/151.13 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.19/151.13 , U56(tt()) -> tt() 597.19/151.13 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.19/151.13 , U62(tt(), V) -> U63(isQid(activate(V))) 597.19/151.13 , U63(tt()) -> tt() 597.19/151.13 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.19/151.13 , isPal(n__nil()) -> tt() 597.19/151.13 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.19/151.13 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.19/151.13 , U83(tt()) -> tt() 597.19/151.13 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.19/151.13 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.19/151.13 , U92(tt()) -> tt() 597.19/151.13 , a() -> n__a() 597.19/151.13 , e() -> n__e() 597.19/151.13 , i() -> n__i() 597.19/151.13 , o() -> n__o() 597.19/151.13 , u() -> n__u() } 597.19/151.13 Obligation: 597.19/151.13 innermost runtime complexity 597.19/151.13 Answer: 597.19/151.13 YES(O(1),O(n^2)) 597.19/151.13 597.19/151.13 We decompose the input problem according to the dependency graph 597.19/151.13 into the upper component 597.19/151.13 597.19/151.13 { U11^#(tt(), V) -> 597.19/151.13 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.13 isPalListKind^#(activate(V))) 597.19/151.13 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.13 , isNeList^#(n____(V1, V2)) -> 597.19/151.13 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.13 isPalListKind^#(activate(V1))) 597.19/151.13 , isNeList^#(n____(V1, V2)) -> 597.19/151.13 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.13 isPalListKind^#(activate(V1))) 597.19/151.13 , U41^#(tt(), V1, V2) -> 597.19/151.13 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.13 isPalListKind^#(activate(V1))) 597.19/151.13 , U51^#(tt(), V1, V2) -> 597.19/151.13 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V1))) 597.19/151.13 , U21^#(tt(), V1, V2) -> 597.19/151.13 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V1))) 597.19/151.13 , U22^#(tt(), V1, V2) -> 597.19/151.13 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V2))) 597.19/151.13 , U23^#(tt(), V1, V2) -> 597.19/151.13 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V2))) 597.19/151.13 , U24^#(tt(), V1, V2) -> 597.19/151.13 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.13 isList^#(activate(V1))) 597.19/151.13 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.13 , isList^#(V) -> 597.19/151.13 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.13 isPalListKind^#(activate(V))) 597.19/151.13 , isList^#(n____(V1, V2)) -> 597.19/151.13 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V1))) 597.19/151.13 , U42^#(tt(), V1, V2) -> 597.19/151.13 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V2))) 597.19/151.13 , U43^#(tt(), V1, V2) -> 597.19/151.13 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V2))) 597.19/151.13 , U44^#(tt(), V1, V2) -> 597.19/151.13 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.13 isList^#(activate(V1))) 597.19/151.13 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.13 , U52^#(tt(), V1, V2) -> 597.19/151.13 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V2))) 597.19/151.13 , U53^#(tt(), V1, V2) -> 597.19/151.13 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V2))) 597.19/151.13 , U54^#(tt(), V1, V2) -> 597.19/151.13 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.13 isNeList^#(activate(V1))) 597.19/151.13 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.13 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.13 , U71^#(tt(), I, P) -> 597.19/151.13 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.13 isPalListKind^#(activate(I))) 597.19/151.13 , U72^#(tt(), P) -> 597.19/151.13 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.13 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.13 , isPal^#(V) -> 597.19/151.13 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.13 isPalListKind^#(activate(V))) 597.19/151.13 , U81^#(tt(), V) -> 597.19/151.13 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.13 isPalListKind^#(activate(V))) 597.19/151.13 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.19/151.13 , isNePal^#(V) -> 597.19/151.13 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.13 isPalListKind^#(activate(V))) } 597.19/151.13 597.19/151.13 and lower component 597.19/151.13 597.19/151.13 { isPalListKind^#(n____(V1, V2)) -> 597.19/151.13 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.19/151.13 isPalListKind^#(activate(V1))) 597.19/151.13 , isNeList^#(V) -> 597.19/151.13 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.19/151.13 isPalListKind^#(activate(V))) 597.19/151.13 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.19/151.13 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) } 597.19/151.13 597.19/151.13 Further, following extension rules are added to the lower 597.19/151.13 component. 597.19/151.13 597.19/151.13 { U11^#(tt(), V) -> U12^#(isPalListKind(activate(V)), activate(V)) 597.19/151.13 , U11^#(tt(), V) -> isPalListKind^#(activate(V)) 597.19/151.13 , U12^#(tt(), V) -> isNeList^#(activate(V)) 597.19/151.13 , isNeList^#(n____(V1, V2)) -> isPalListKind^#(activate(V1)) 597.19/151.13 , isNeList^#(n____(V1, V2)) -> 597.19/151.13 U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , isNeList^#(n____(V1, V2)) -> 597.19/151.13 U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , U41^#(tt(), V1, V2) -> isPalListKind^#(activate(V1)) 597.19/151.13 , U41^#(tt(), V1, V2) -> 597.19/151.13 U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , U51^#(tt(), V1, V2) -> isPalListKind^#(activate(V1)) 597.19/151.13 , U51^#(tt(), V1, V2) -> 597.19/151.13 U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , U21^#(tt(), V1, V2) -> isPalListKind^#(activate(V1)) 597.19/151.13 , U21^#(tt(), V1, V2) -> 597.19/151.13 U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , U22^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.19/151.13 , U22^#(tt(), V1, V2) -> 597.19/151.13 U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.13 , U23^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.19/151.13 , U23^#(tt(), V1, V2) -> 597.19/151.13 U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.13 , U24^#(tt(), V1, V2) -> U25^#(isList(activate(V1)), activate(V2)) 597.19/151.13 , U24^#(tt(), V1, V2) -> isList^#(activate(V1)) 597.19/151.13 , U25^#(tt(), V2) -> isList^#(activate(V2)) 597.19/151.13 , isList^#(V) -> U11^#(isPalListKind(activate(V)), activate(V)) 597.19/151.13 , isList^#(V) -> isPalListKind^#(activate(V)) 597.19/151.13 , isList^#(n____(V1, V2)) -> isPalListKind^#(activate(V1)) 597.19/151.13 , isList^#(n____(V1, V2)) -> 597.19/151.13 U21^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , U42^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.19/151.13 , U42^#(tt(), V1, V2) -> 597.19/151.13 U43^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.13 , U43^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.19/151.13 , U43^#(tt(), V1, V2) -> 597.19/151.13 U44^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.13 , U44^#(tt(), V1, V2) -> isList^#(activate(V1)) 597.19/151.13 , U44^#(tt(), V1, V2) -> U45^#(isList(activate(V1)), activate(V2)) 597.19/151.13 , U45^#(tt(), V2) -> isNeList^#(activate(V2)) 597.19/151.13 , U52^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.19/151.13 , U52^#(tt(), V1, V2) -> 597.19/151.13 U53^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.13 , U53^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.19/151.13 , U53^#(tt(), V1, V2) -> 597.19/151.13 U54^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.13 , U54^#(tt(), V1, V2) -> isNeList^#(activate(V1)) 597.19/151.13 , U54^#(tt(), V1, V2) -> 597.19/151.13 U55^#(isNeList(activate(V1)), activate(V2)) 597.19/151.13 , U55^#(tt(), V2) -> isList^#(activate(V2)) 597.19/151.13 , U61^#(tt(), V) -> isPalListKind^#(activate(V)) 597.19/151.13 , U71^#(tt(), I, P) -> isPalListKind^#(activate(I)) 597.19/151.13 , U71^#(tt(), I, P) -> 597.19/151.13 U72^#(isPalListKind(activate(I)), activate(P)) 597.19/151.13 , U72^#(tt(), P) -> U73^#(isPal(activate(P)), activate(P)) 597.19/151.13 , U72^#(tt(), P) -> isPal^#(activate(P)) 597.19/151.13 , U73^#(tt(), P) -> isPalListKind^#(activate(P)) 597.19/151.13 , isPal^#(V) -> isPalListKind^#(activate(V)) 597.19/151.13 , isPal^#(V) -> U81^#(isPalListKind(activate(V)), activate(V)) 597.19/151.13 , U81^#(tt(), V) -> isPalListKind^#(activate(V)) 597.19/151.13 , U81^#(tt(), V) -> U82^#(isPalListKind(activate(V)), activate(V)) 597.19/151.13 , U82^#(tt(), V) -> isNePal^#(activate(V)) 597.19/151.13 , isNePal^#(V) -> isPalListKind^#(activate(V)) 597.19/151.13 , isNePal^#(V) -> U61^#(isPalListKind(activate(V)), activate(V)) } 597.19/151.13 597.19/151.13 TcT solves the upper component with certificate YES(O(1),O(n^1)). 597.19/151.13 597.19/151.13 Sub-proof: 597.19/151.13 ---------- 597.19/151.13 We are left with following problem, upon which TcT provides the 597.19/151.13 certificate YES(O(1),O(n^1)). 597.19/151.13 597.19/151.13 Strict DPs: 597.19/151.13 { U11^#(tt(), V) -> 597.19/151.13 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.13 isPalListKind^#(activate(V))) 597.19/151.13 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.13 , isNeList^#(n____(V1, V2)) -> 597.19/151.13 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.13 isPalListKind^#(activate(V1))) 597.19/151.13 , isNeList^#(n____(V1, V2)) -> 597.19/151.13 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.13 isPalListKind^#(activate(V1))) 597.19/151.13 , U41^#(tt(), V1, V2) -> 597.19/151.13 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.13 isPalListKind^#(activate(V1))) 597.19/151.13 , U51^#(tt(), V1, V2) -> 597.19/151.13 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V1))) 597.19/151.13 , U21^#(tt(), V1, V2) -> 597.19/151.13 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V1))) 597.19/151.13 , U22^#(tt(), V1, V2) -> 597.19/151.13 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V2))) 597.19/151.13 , U23^#(tt(), V1, V2) -> 597.19/151.13 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V2))) 597.19/151.13 , isList^#(V) -> 597.19/151.13 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.13 isPalListKind^#(activate(V))) 597.19/151.13 , isList^#(n____(V1, V2)) -> 597.19/151.13 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V1))) 597.19/151.13 , U42^#(tt(), V1, V2) -> 597.19/151.13 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V2))) 597.19/151.13 , U43^#(tt(), V1, V2) -> 597.19/151.13 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V2))) 597.19/151.13 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.13 , U52^#(tt(), V1, V2) -> 597.19/151.13 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V2))) 597.19/151.13 , U53^#(tt(), V1, V2) -> 597.19/151.13 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.13 activate(V1), 597.19/151.13 activate(V2)), 597.19/151.13 isPalListKind^#(activate(V2))) 597.19/151.13 , U54^#(tt(), V1, V2) -> 597.19/151.13 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.13 isNeList^#(activate(V1))) 597.19/151.13 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.13 , U71^#(tt(), I, P) -> 597.19/151.13 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.13 isPalListKind^#(activate(I))) 597.19/151.13 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.13 , isPal^#(V) -> 597.19/151.13 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.13 isPalListKind^#(activate(V))) 597.19/151.13 , U81^#(tt(), V) -> 597.19/151.13 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.13 isPalListKind^#(activate(V))) 597.19/151.13 , isNePal^#(V) -> 597.19/151.13 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.13 isPalListKind^#(activate(V))) } 597.19/151.13 Weak DPs: 597.19/151.13 { U24^#(tt(), V1, V2) -> 597.19/151.13 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.13 isList^#(activate(V1))) 597.19/151.13 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.13 , U44^#(tt(), V1, V2) -> 597.19/151.13 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.13 isList^#(activate(V1))) 597.19/151.13 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.13 , U72^#(tt(), P) -> 597.19/151.13 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.13 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) } 597.19/151.13 Weak Trs: 597.19/151.13 { __(X1, X2) -> n____(X1, X2) 597.19/151.13 , nil() -> n__nil() 597.19/151.13 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.19/151.13 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.19/151.13 , isPalListKind(n__nil()) -> tt() 597.19/151.13 , isPalListKind(n____(V1, V2)) -> 597.19/151.13 U91(isPalListKind(activate(V1)), activate(V2)) 597.19/151.13 , isPalListKind(n__a()) -> tt() 597.19/151.13 , isPalListKind(n__e()) -> tt() 597.19/151.13 , isPalListKind(n__i()) -> tt() 597.19/151.13 , isPalListKind(n__o()) -> tt() 597.19/151.13 , isPalListKind(n__u()) -> tt() 597.19/151.13 , activate(X) -> X 597.19/151.13 , activate(n__nil()) -> nil() 597.19/151.13 , activate(n____(X1, X2)) -> __(X1, X2) 597.19/151.13 , activate(n__a()) -> a() 597.19/151.13 , activate(n__e()) -> e() 597.19/151.13 , activate(n__i()) -> i() 597.19/151.13 , activate(n__o()) -> o() 597.19/151.13 , activate(n__u()) -> u() 597.19/151.13 , U13(tt()) -> tt() 597.19/151.13 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.19/151.13 , isNeList(n____(V1, V2)) -> 597.19/151.13 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , isNeList(n____(V1, V2)) -> 597.19/151.13 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , U21(tt(), V1, V2) -> 597.19/151.13 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , U22(tt(), V1, V2) -> 597.19/151.13 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.13 , U23(tt(), V1, V2) -> 597.19/151.13 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.13 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.19/151.13 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.19/151.13 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.19/151.13 , isList(n__nil()) -> tt() 597.19/151.13 , isList(n____(V1, V2)) -> 597.19/151.13 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , U26(tt()) -> tt() 597.19/151.13 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.19/151.13 , U32(tt(), V) -> U33(isQid(activate(V))) 597.19/151.13 , U33(tt()) -> tt() 597.19/151.13 , isQid(n__a()) -> tt() 597.19/151.13 , isQid(n__e()) -> tt() 597.19/151.13 , isQid(n__i()) -> tt() 597.19/151.13 , isQid(n__o()) -> tt() 597.19/151.13 , isQid(n__u()) -> tt() 597.19/151.13 , U41(tt(), V1, V2) -> 597.19/151.13 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , U42(tt(), V1, V2) -> 597.19/151.13 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.13 , U43(tt(), V1, V2) -> 597.19/151.13 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.13 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.19/151.13 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.19/151.13 , U46(tt()) -> tt() 597.19/151.13 , U51(tt(), V1, V2) -> 597.19/151.13 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.13 , U52(tt(), V1, V2) -> 597.19/151.14 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.14 , U53(tt(), V1, V2) -> 597.19/151.14 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.14 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.19/151.14 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.19/151.14 , U56(tt()) -> tt() 597.19/151.14 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.19/151.14 , U62(tt(), V) -> U63(isQid(activate(V))) 597.19/151.14 , U63(tt()) -> tt() 597.19/151.14 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.19/151.14 , isPal(n__nil()) -> tt() 597.19/151.14 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.19/151.14 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.19/151.14 , U83(tt()) -> tt() 597.19/151.14 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.19/151.14 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.19/151.14 , U92(tt()) -> tt() 597.19/151.14 , a() -> n__a() 597.19/151.14 , e() -> n__e() 597.19/151.14 , i() -> n__i() 597.19/151.14 , o() -> n__o() 597.19/151.14 , u() -> n__u() } 597.19/151.14 Obligation: 597.19/151.14 innermost runtime complexity 597.19/151.14 Answer: 597.19/151.14 YES(O(1),O(n^1)) 597.19/151.14 597.19/151.14 We estimate the number of application of {9,18} by applications of 597.19/151.14 Pre({9,18}) = {8,23}. Here rules are labeled as follows: 597.19/151.14 597.19/151.14 DPs: 597.19/151.14 { 1: U11^#(tt(), V) -> 597.19/151.14 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.14 isPalListKind^#(activate(V))) 597.19/151.14 , 2: U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.14 , 3: isNeList^#(n____(V1, V2)) -> 597.19/151.14 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , 4: isNeList^#(n____(V1, V2)) -> 597.19/151.14 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , 5: U41^#(tt(), V1, V2) -> 597.19/151.14 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , 6: U51^#(tt(), V1, V2) -> 597.19/151.14 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , 7: U21^#(tt(), V1, V2) -> 597.19/151.14 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , 8: U22^#(tt(), V1, V2) -> 597.19/151.14 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , 9: U23^#(tt(), V1, V2) -> 597.19/151.14 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , 10: isList^#(V) -> 597.19/151.14 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.14 isPalListKind^#(activate(V))) 597.19/151.14 , 11: isList^#(n____(V1, V2)) -> 597.19/151.14 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , 12: U42^#(tt(), V1, V2) -> 597.19/151.14 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , 13: U43^#(tt(), V1, V2) -> 597.19/151.14 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , 14: U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.14 , 15: U52^#(tt(), V1, V2) -> 597.19/151.14 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , 16: U53^#(tt(), V1, V2) -> 597.19/151.14 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , 17: U54^#(tt(), V1, V2) -> 597.19/151.14 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.14 isNeList^#(activate(V1))) 597.19/151.14 , 18: U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.14 , 19: U71^#(tt(), I, P) -> 597.19/151.14 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.14 isPalListKind^#(activate(I))) 597.19/151.14 , 20: U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.14 , 21: isPal^#(V) -> 597.19/151.14 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.14 isPalListKind^#(activate(V))) 597.19/151.14 , 22: U81^#(tt(), V) -> 597.19/151.14 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.14 isPalListKind^#(activate(V))) 597.19/151.14 , 23: isNePal^#(V) -> 597.19/151.14 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.14 isPalListKind^#(activate(V))) 597.19/151.14 , 24: U24^#(tt(), V1, V2) -> 597.19/151.14 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.14 isList^#(activate(V1))) 597.19/151.14 , 25: U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.14 , 26: U44^#(tt(), V1, V2) -> 597.19/151.14 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.14 isList^#(activate(V1))) 597.19/151.14 , 27: U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.14 , 28: U72^#(tt(), P) -> 597.19/151.14 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.14 , 29: U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) } 597.19/151.14 597.19/151.14 We are left with following problem, upon which TcT provides the 597.19/151.14 certificate YES(O(1),O(n^1)). 597.19/151.14 597.19/151.14 Strict DPs: 597.19/151.14 { U11^#(tt(), V) -> 597.19/151.14 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.14 isPalListKind^#(activate(V))) 597.19/151.14 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.14 , isNeList^#(n____(V1, V2)) -> 597.19/151.14 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , isNeList^#(n____(V1, V2)) -> 597.19/151.14 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , U41^#(tt(), V1, V2) -> 597.19/151.14 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , U51^#(tt(), V1, V2) -> 597.19/151.14 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , U21^#(tt(), V1, V2) -> 597.19/151.14 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , U22^#(tt(), V1, V2) -> 597.19/151.14 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , isList^#(V) -> 597.19/151.14 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.14 isPalListKind^#(activate(V))) 597.19/151.14 , isList^#(n____(V1, V2)) -> 597.19/151.14 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , U42^#(tt(), V1, V2) -> 597.19/151.14 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , U43^#(tt(), V1, V2) -> 597.19/151.14 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.14 , U52^#(tt(), V1, V2) -> 597.19/151.14 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , U53^#(tt(), V1, V2) -> 597.19/151.14 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , U54^#(tt(), V1, V2) -> 597.19/151.14 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.14 isNeList^#(activate(V1))) 597.19/151.14 , U71^#(tt(), I, P) -> 597.19/151.14 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.14 isPalListKind^#(activate(I))) 597.19/151.14 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.14 , isPal^#(V) -> 597.19/151.14 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.14 isPalListKind^#(activate(V))) 597.19/151.14 , U81^#(tt(), V) -> 597.19/151.14 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.14 isPalListKind^#(activate(V))) 597.19/151.14 , isNePal^#(V) -> 597.19/151.14 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.14 isPalListKind^#(activate(V))) } 597.19/151.14 Weak DPs: 597.19/151.14 { U23^#(tt(), V1, V2) -> 597.19/151.14 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , U24^#(tt(), V1, V2) -> 597.19/151.14 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.14 isList^#(activate(V1))) 597.19/151.14 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.14 , U44^#(tt(), V1, V2) -> 597.19/151.14 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.14 isList^#(activate(V1))) 597.19/151.14 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.14 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.14 , U72^#(tt(), P) -> 597.19/151.14 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.14 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) } 597.19/151.14 Weak Trs: 597.19/151.14 { __(X1, X2) -> n____(X1, X2) 597.19/151.14 , nil() -> n__nil() 597.19/151.14 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.19/151.14 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.19/151.14 , isPalListKind(n__nil()) -> tt() 597.19/151.14 , isPalListKind(n____(V1, V2)) -> 597.19/151.14 U91(isPalListKind(activate(V1)), activate(V2)) 597.19/151.14 , isPalListKind(n__a()) -> tt() 597.19/151.14 , isPalListKind(n__e()) -> tt() 597.19/151.14 , isPalListKind(n__i()) -> tt() 597.19/151.14 , isPalListKind(n__o()) -> tt() 597.19/151.14 , isPalListKind(n__u()) -> tt() 597.19/151.14 , activate(X) -> X 597.19/151.14 , activate(n__nil()) -> nil() 597.19/151.14 , activate(n____(X1, X2)) -> __(X1, X2) 597.19/151.14 , activate(n__a()) -> a() 597.19/151.14 , activate(n__e()) -> e() 597.19/151.14 , activate(n__i()) -> i() 597.19/151.14 , activate(n__o()) -> o() 597.19/151.14 , activate(n__u()) -> u() 597.19/151.14 , U13(tt()) -> tt() 597.19/151.14 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.19/151.14 , isNeList(n____(V1, V2)) -> 597.19/151.14 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.14 , isNeList(n____(V1, V2)) -> 597.19/151.14 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.14 , U21(tt(), V1, V2) -> 597.19/151.14 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.14 , U22(tt(), V1, V2) -> 597.19/151.14 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.14 , U23(tt(), V1, V2) -> 597.19/151.14 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.14 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.19/151.14 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.19/151.14 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.19/151.14 , isList(n__nil()) -> tt() 597.19/151.14 , isList(n____(V1, V2)) -> 597.19/151.14 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.14 , U26(tt()) -> tt() 597.19/151.14 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.19/151.14 , U32(tt(), V) -> U33(isQid(activate(V))) 597.19/151.14 , U33(tt()) -> tt() 597.19/151.14 , isQid(n__a()) -> tt() 597.19/151.14 , isQid(n__e()) -> tt() 597.19/151.14 , isQid(n__i()) -> tt() 597.19/151.14 , isQid(n__o()) -> tt() 597.19/151.14 , isQid(n__u()) -> tt() 597.19/151.14 , U41(tt(), V1, V2) -> 597.19/151.14 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.14 , U42(tt(), V1, V2) -> 597.19/151.14 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.14 , U43(tt(), V1, V2) -> 597.19/151.14 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.14 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.19/151.14 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.19/151.14 , U46(tt()) -> tt() 597.19/151.14 , U51(tt(), V1, V2) -> 597.19/151.14 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.14 , U52(tt(), V1, V2) -> 597.19/151.14 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.14 , U53(tt(), V1, V2) -> 597.19/151.14 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.14 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.19/151.14 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.19/151.14 , U56(tt()) -> tt() 597.19/151.14 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.19/151.14 , U62(tt(), V) -> U63(isQid(activate(V))) 597.19/151.14 , U63(tt()) -> tt() 597.19/151.14 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.19/151.14 , isPal(n__nil()) -> tt() 597.19/151.14 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.19/151.14 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.19/151.14 , U83(tt()) -> tt() 597.19/151.14 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.19/151.14 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.19/151.14 , U92(tt()) -> tt() 597.19/151.14 , a() -> n__a() 597.19/151.14 , e() -> n__e() 597.19/151.14 , i() -> n__i() 597.19/151.14 , o() -> n__o() 597.19/151.14 , u() -> n__u() } 597.19/151.14 Obligation: 597.19/151.14 innermost runtime complexity 597.19/151.14 Answer: 597.19/151.14 YES(O(1),O(n^1)) 597.19/151.14 597.19/151.14 We estimate the number of application of {8,20} by applications of 597.19/151.14 Pre({8,20}) = {7,19}. Here rules are labeled as follows: 597.19/151.14 597.19/151.14 DPs: 597.19/151.14 { 1: U11^#(tt(), V) -> 597.19/151.14 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.14 isPalListKind^#(activate(V))) 597.19/151.14 , 2: U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.14 , 3: isNeList^#(n____(V1, V2)) -> 597.19/151.14 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , 4: isNeList^#(n____(V1, V2)) -> 597.19/151.14 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , 5: U41^#(tt(), V1, V2) -> 597.19/151.14 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , 6: U51^#(tt(), V1, V2) -> 597.19/151.14 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , 7: U21^#(tt(), V1, V2) -> 597.19/151.14 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , 8: U22^#(tt(), V1, V2) -> 597.19/151.14 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , 9: isList^#(V) -> 597.19/151.14 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.14 isPalListKind^#(activate(V))) 597.19/151.14 , 10: isList^#(n____(V1, V2)) -> 597.19/151.14 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V1))) 597.19/151.14 , 11: U42^#(tt(), V1, V2) -> 597.19/151.14 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , 12: U43^#(tt(), V1, V2) -> 597.19/151.14 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , 13: U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.14 , 14: U52^#(tt(), V1, V2) -> 597.19/151.14 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , 15: U53^#(tt(), V1, V2) -> 597.19/151.14 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , 16: U54^#(tt(), V1, V2) -> 597.19/151.14 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.14 isNeList^#(activate(V1))) 597.19/151.14 , 17: U71^#(tt(), I, P) -> 597.19/151.14 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.14 isPalListKind^#(activate(I))) 597.19/151.14 , 18: U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.14 , 19: isPal^#(V) -> 597.19/151.14 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.14 isPalListKind^#(activate(V))) 597.19/151.14 , 20: U81^#(tt(), V) -> 597.19/151.14 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.14 isPalListKind^#(activate(V))) 597.19/151.14 , 21: isNePal^#(V) -> 597.19/151.14 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.14 isPalListKind^#(activate(V))) 597.19/151.14 , 22: U23^#(tt(), V1, V2) -> 597.19/151.14 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.14 activate(V1), 597.19/151.14 activate(V2)), 597.19/151.14 isPalListKind^#(activate(V2))) 597.19/151.14 , 23: U24^#(tt(), V1, V2) -> 597.19/151.14 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.14 isList^#(activate(V1))) 597.19/151.14 , 24: U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.14 , 25: U44^#(tt(), V1, V2) -> 597.19/151.14 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.14 isList^#(activate(V1))) 597.19/151.14 , 26: U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.14 , 27: U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.14 , 28: U72^#(tt(), P) -> 597.19/151.14 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.15 , 29: U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) } 597.19/151.15 597.19/151.15 We are left with following problem, upon which TcT provides the 597.19/151.15 certificate YES(O(1),O(n^1)). 597.19/151.15 597.19/151.15 Strict DPs: 597.19/151.15 { U11^#(tt(), V) -> 597.19/151.15 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.15 isPalListKind^#(activate(V))) 597.19/151.15 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.15 , isNeList^#(n____(V1, V2)) -> 597.19/151.15 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.15 isPalListKind^#(activate(V1))) 597.19/151.15 , isNeList^#(n____(V1, V2)) -> 597.19/151.15 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.15 isPalListKind^#(activate(V1))) 597.19/151.15 , U41^#(tt(), V1, V2) -> 597.19/151.15 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.15 isPalListKind^#(activate(V1))) 597.19/151.15 , U51^#(tt(), V1, V2) -> 597.19/151.15 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V1))) 597.19/151.15 , U21^#(tt(), V1, V2) -> 597.19/151.15 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V1))) 597.19/151.15 , isList^#(V) -> 597.19/151.15 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.15 isPalListKind^#(activate(V))) 597.19/151.15 , isList^#(n____(V1, V2)) -> 597.19/151.15 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V1))) 597.19/151.15 , U42^#(tt(), V1, V2) -> 597.19/151.15 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V2))) 597.19/151.15 , U43^#(tt(), V1, V2) -> 597.19/151.15 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V2))) 597.19/151.15 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.15 , U52^#(tt(), V1, V2) -> 597.19/151.15 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V2))) 597.19/151.15 , U53^#(tt(), V1, V2) -> 597.19/151.15 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V2))) 597.19/151.15 , U54^#(tt(), V1, V2) -> 597.19/151.15 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.15 isNeList^#(activate(V1))) 597.19/151.15 , U71^#(tt(), I, P) -> 597.19/151.15 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.15 isPalListKind^#(activate(I))) 597.19/151.15 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.15 , isPal^#(V) -> 597.19/151.15 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.15 isPalListKind^#(activate(V))) 597.19/151.15 , isNePal^#(V) -> 597.19/151.15 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.15 isPalListKind^#(activate(V))) } 597.19/151.15 Weak DPs: 597.19/151.15 { U22^#(tt(), V1, V2) -> 597.19/151.15 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V2))) 597.19/151.15 , U23^#(tt(), V1, V2) -> 597.19/151.15 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V2))) 597.19/151.15 , U24^#(tt(), V1, V2) -> 597.19/151.15 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.15 isList^#(activate(V1))) 597.19/151.15 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.15 , U44^#(tt(), V1, V2) -> 597.19/151.15 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.15 isList^#(activate(V1))) 597.19/151.15 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.15 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.15 , U72^#(tt(), P) -> 597.19/151.15 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.15 , U81^#(tt(), V) -> 597.19/151.15 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.15 isPalListKind^#(activate(V))) 597.19/151.15 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) } 597.19/151.15 Weak Trs: 597.19/151.15 { __(X1, X2) -> n____(X1, X2) 597.19/151.15 , nil() -> n__nil() 597.19/151.15 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.19/151.15 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.19/151.15 , isPalListKind(n__nil()) -> tt() 597.19/151.15 , isPalListKind(n____(V1, V2)) -> 597.19/151.15 U91(isPalListKind(activate(V1)), activate(V2)) 597.19/151.15 , isPalListKind(n__a()) -> tt() 597.19/151.15 , isPalListKind(n__e()) -> tt() 597.19/151.15 , isPalListKind(n__i()) -> tt() 597.19/151.15 , isPalListKind(n__o()) -> tt() 597.19/151.15 , isPalListKind(n__u()) -> tt() 597.19/151.15 , activate(X) -> X 597.19/151.15 , activate(n__nil()) -> nil() 597.19/151.15 , activate(n____(X1, X2)) -> __(X1, X2) 597.19/151.15 , activate(n__a()) -> a() 597.19/151.15 , activate(n__e()) -> e() 597.19/151.15 , activate(n__i()) -> i() 597.19/151.15 , activate(n__o()) -> o() 597.19/151.15 , activate(n__u()) -> u() 597.19/151.15 , U13(tt()) -> tt() 597.19/151.15 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.19/151.15 , isNeList(n____(V1, V2)) -> 597.19/151.15 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.15 , isNeList(n____(V1, V2)) -> 597.19/151.15 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.15 , U21(tt(), V1, V2) -> 597.19/151.15 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.15 , U22(tt(), V1, V2) -> 597.19/151.15 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.15 , U23(tt(), V1, V2) -> 597.19/151.15 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.15 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.19/151.15 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.19/151.15 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.19/151.15 , isList(n__nil()) -> tt() 597.19/151.15 , isList(n____(V1, V2)) -> 597.19/151.15 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.15 , U26(tt()) -> tt() 597.19/151.15 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.19/151.15 , U32(tt(), V) -> U33(isQid(activate(V))) 597.19/151.15 , U33(tt()) -> tt() 597.19/151.15 , isQid(n__a()) -> tt() 597.19/151.15 , isQid(n__e()) -> tt() 597.19/151.15 , isQid(n__i()) -> tt() 597.19/151.15 , isQid(n__o()) -> tt() 597.19/151.15 , isQid(n__u()) -> tt() 597.19/151.15 , U41(tt(), V1, V2) -> 597.19/151.15 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.15 , U42(tt(), V1, V2) -> 597.19/151.15 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.15 , U43(tt(), V1, V2) -> 597.19/151.15 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.15 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.19/151.15 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.19/151.15 , U46(tt()) -> tt() 597.19/151.15 , U51(tt(), V1, V2) -> 597.19/151.15 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.15 , U52(tt(), V1, V2) -> 597.19/151.15 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.15 , U53(tt(), V1, V2) -> 597.19/151.15 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.15 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.19/151.15 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.19/151.15 , U56(tt()) -> tt() 597.19/151.15 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.19/151.15 , U62(tt(), V) -> U63(isQid(activate(V))) 597.19/151.15 , U63(tt()) -> tt() 597.19/151.15 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.19/151.15 , isPal(n__nil()) -> tt() 597.19/151.15 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.19/151.15 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.19/151.15 , U83(tt()) -> tt() 597.19/151.15 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.19/151.15 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.19/151.15 , U92(tt()) -> tt() 597.19/151.15 , a() -> n__a() 597.19/151.15 , e() -> n__e() 597.19/151.15 , i() -> n__i() 597.19/151.15 , o() -> n__o() 597.19/151.15 , u() -> n__u() } 597.19/151.15 Obligation: 597.19/151.15 innermost runtime complexity 597.19/151.15 Answer: 597.19/151.15 YES(O(1),O(n^1)) 597.19/151.15 597.19/151.15 We estimate the number of application of {7,16} by applications of 597.19/151.15 Pre({7,16}) = {9}. Here rules are labeled as follows: 597.19/151.15 597.19/151.15 DPs: 597.19/151.15 { 1: U11^#(tt(), V) -> 597.19/151.15 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.15 isPalListKind^#(activate(V))) 597.19/151.15 , 2: U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.15 , 3: isNeList^#(n____(V1, V2)) -> 597.19/151.15 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.15 isPalListKind^#(activate(V1))) 597.19/151.15 , 4: isNeList^#(n____(V1, V2)) -> 597.19/151.15 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.15 isPalListKind^#(activate(V1))) 597.19/151.15 , 5: U41^#(tt(), V1, V2) -> 597.19/151.15 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.15 isPalListKind^#(activate(V1))) 597.19/151.15 , 6: U51^#(tt(), V1, V2) -> 597.19/151.15 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V1))) 597.19/151.15 , 7: U21^#(tt(), V1, V2) -> 597.19/151.15 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V1))) 597.19/151.15 , 8: isList^#(V) -> 597.19/151.15 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.15 isPalListKind^#(activate(V))) 597.19/151.15 , 9: isList^#(n____(V1, V2)) -> 597.19/151.15 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V1))) 597.19/151.15 , 10: U42^#(tt(), V1, V2) -> 597.19/151.15 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V2))) 597.19/151.15 , 11: U43^#(tt(), V1, V2) -> 597.19/151.15 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V2))) 597.19/151.15 , 12: U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.15 , 13: U52^#(tt(), V1, V2) -> 597.19/151.15 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V2))) 597.19/151.15 , 14: U53^#(tt(), V1, V2) -> 597.19/151.15 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V2))) 597.19/151.15 , 15: U54^#(tt(), V1, V2) -> 597.19/151.15 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.15 isNeList^#(activate(V1))) 597.19/151.15 , 16: U71^#(tt(), I, P) -> 597.19/151.15 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.15 isPalListKind^#(activate(I))) 597.19/151.15 , 17: U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.15 , 18: isPal^#(V) -> 597.19/151.15 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.15 isPalListKind^#(activate(V))) 597.19/151.15 , 19: isNePal^#(V) -> 597.19/151.15 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.15 isPalListKind^#(activate(V))) 597.19/151.15 , 20: U22^#(tt(), V1, V2) -> 597.19/151.15 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V2))) 597.19/151.15 , 21: U23^#(tt(), V1, V2) -> 597.19/151.15 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V2))) 597.19/151.15 , 22: U24^#(tt(), V1, V2) -> 597.19/151.15 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.15 isList^#(activate(V1))) 597.19/151.15 , 23: U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.15 , 24: U44^#(tt(), V1, V2) -> 597.19/151.15 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.15 isList^#(activate(V1))) 597.19/151.15 , 25: U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.15 , 26: U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.15 , 27: U72^#(tt(), P) -> 597.19/151.15 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.15 , 28: U81^#(tt(), V) -> 597.19/151.15 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.15 isPalListKind^#(activate(V))) 597.19/151.15 , 29: U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) } 597.19/151.15 597.19/151.15 We are left with following problem, upon which TcT provides the 597.19/151.15 certificate YES(O(1),O(n^1)). 597.19/151.15 597.19/151.15 Strict DPs: 597.19/151.15 { U11^#(tt(), V) -> 597.19/151.15 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.15 isPalListKind^#(activate(V))) 597.19/151.15 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.15 , isNeList^#(n____(V1, V2)) -> 597.19/151.15 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.15 isPalListKind^#(activate(V1))) 597.19/151.15 , isNeList^#(n____(V1, V2)) -> 597.19/151.15 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.15 isPalListKind^#(activate(V1))) 597.19/151.15 , U41^#(tt(), V1, V2) -> 597.19/151.15 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.15 isPalListKind^#(activate(V1))) 597.19/151.15 , U51^#(tt(), V1, V2) -> 597.19/151.15 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V1))) 597.19/151.15 , isList^#(V) -> 597.19/151.15 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.15 isPalListKind^#(activate(V))) 597.19/151.15 , isList^#(n____(V1, V2)) -> 597.19/151.15 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V1))) 597.19/151.15 , U42^#(tt(), V1, V2) -> 597.19/151.15 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V2))) 597.19/151.15 , U43^#(tt(), V1, V2) -> 597.19/151.15 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V2))) 597.19/151.15 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.15 , U52^#(tt(), V1, V2) -> 597.19/151.15 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V2))) 597.19/151.15 , U53^#(tt(), V1, V2) -> 597.19/151.15 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.15 activate(V1), 597.19/151.15 activate(V2)), 597.19/151.15 isPalListKind^#(activate(V2))) 597.19/151.15 , U54^#(tt(), V1, V2) -> 597.19/151.15 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.15 isNeList^#(activate(V1))) 597.19/151.15 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.15 , isPal^#(V) -> 597.19/151.15 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.15 isPalListKind^#(activate(V))) 597.19/151.15 , isNePal^#(V) -> 597.19/151.15 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.15 isPalListKind^#(activate(V))) } 597.19/151.15 Weak DPs: 597.19/151.15 { U21^#(tt(), V1, V2) -> 597.19/151.15 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.15 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V1))) 597.19/151.16 , U22^#(tt(), V1, V2) -> 597.19/151.16 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V2))) 597.19/151.16 , U23^#(tt(), V1, V2) -> 597.19/151.16 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V2))) 597.19/151.16 , U24^#(tt(), V1, V2) -> 597.19/151.16 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.16 isList^#(activate(V1))) 597.19/151.16 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.16 , U44^#(tt(), V1, V2) -> 597.19/151.16 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.16 isList^#(activate(V1))) 597.19/151.16 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.16 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.16 , U71^#(tt(), I, P) -> 597.19/151.16 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.16 isPalListKind^#(activate(I))) 597.19/151.16 , U72^#(tt(), P) -> 597.19/151.16 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.16 , U81^#(tt(), V) -> 597.19/151.16 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.16 isPalListKind^#(activate(V))) 597.19/151.16 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) } 597.19/151.16 Weak Trs: 597.19/151.16 { __(X1, X2) -> n____(X1, X2) 597.19/151.16 , nil() -> n__nil() 597.19/151.16 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.19/151.16 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.19/151.16 , isPalListKind(n__nil()) -> tt() 597.19/151.16 , isPalListKind(n____(V1, V2)) -> 597.19/151.16 U91(isPalListKind(activate(V1)), activate(V2)) 597.19/151.16 , isPalListKind(n__a()) -> tt() 597.19/151.16 , isPalListKind(n__e()) -> tt() 597.19/151.16 , isPalListKind(n__i()) -> tt() 597.19/151.16 , isPalListKind(n__o()) -> tt() 597.19/151.16 , isPalListKind(n__u()) -> tt() 597.19/151.16 , activate(X) -> X 597.19/151.16 , activate(n__nil()) -> nil() 597.19/151.16 , activate(n____(X1, X2)) -> __(X1, X2) 597.19/151.16 , activate(n__a()) -> a() 597.19/151.16 , activate(n__e()) -> e() 597.19/151.16 , activate(n__i()) -> i() 597.19/151.16 , activate(n__o()) -> o() 597.19/151.16 , activate(n__u()) -> u() 597.19/151.16 , U13(tt()) -> tt() 597.19/151.16 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.19/151.16 , isNeList(n____(V1, V2)) -> 597.19/151.16 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.16 , isNeList(n____(V1, V2)) -> 597.19/151.16 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.16 , U21(tt(), V1, V2) -> 597.19/151.16 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.16 , U22(tt(), V1, V2) -> 597.19/151.16 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.16 , U23(tt(), V1, V2) -> 597.19/151.16 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.16 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.19/151.16 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.19/151.16 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.19/151.16 , isList(n__nil()) -> tt() 597.19/151.16 , isList(n____(V1, V2)) -> 597.19/151.16 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.16 , U26(tt()) -> tt() 597.19/151.16 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.19/151.16 , U32(tt(), V) -> U33(isQid(activate(V))) 597.19/151.16 , U33(tt()) -> tt() 597.19/151.16 , isQid(n__a()) -> tt() 597.19/151.16 , isQid(n__e()) -> tt() 597.19/151.16 , isQid(n__i()) -> tt() 597.19/151.16 , isQid(n__o()) -> tt() 597.19/151.16 , isQid(n__u()) -> tt() 597.19/151.16 , U41(tt(), V1, V2) -> 597.19/151.16 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.16 , U42(tt(), V1, V2) -> 597.19/151.16 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.16 , U43(tt(), V1, V2) -> 597.19/151.16 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.16 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.19/151.16 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.19/151.16 , U46(tt()) -> tt() 597.19/151.16 , U51(tt(), V1, V2) -> 597.19/151.16 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.16 , U52(tt(), V1, V2) -> 597.19/151.16 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.16 , U53(tt(), V1, V2) -> 597.19/151.16 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.16 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.19/151.16 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.19/151.16 , U56(tt()) -> tt() 597.19/151.16 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.19/151.16 , U62(tt(), V) -> U63(isQid(activate(V))) 597.19/151.16 , U63(tt()) -> tt() 597.19/151.16 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.19/151.16 , isPal(n__nil()) -> tt() 597.19/151.16 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.19/151.16 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.19/151.16 , U83(tt()) -> tt() 597.19/151.16 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.19/151.16 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.19/151.16 , U92(tt()) -> tt() 597.19/151.16 , a() -> n__a() 597.19/151.16 , e() -> n__e() 597.19/151.16 , i() -> n__i() 597.19/151.16 , o() -> n__o() 597.19/151.16 , u() -> n__u() } 597.19/151.16 Obligation: 597.19/151.16 innermost runtime complexity 597.19/151.16 Answer: 597.19/151.16 YES(O(1),O(n^1)) 597.19/151.16 597.19/151.16 We estimate the number of application of {10} by applications of 597.19/151.16 Pre({10}) = {9}. Here rules are labeled as follows: 597.19/151.16 597.19/151.16 DPs: 597.19/151.16 { 1: U11^#(tt(), V) -> 597.19/151.16 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.16 isPalListKind^#(activate(V))) 597.19/151.16 , 2: U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.16 , 3: isNeList^#(n____(V1, V2)) -> 597.19/151.16 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.16 isPalListKind^#(activate(V1))) 597.19/151.16 , 4: isNeList^#(n____(V1, V2)) -> 597.19/151.16 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.16 isPalListKind^#(activate(V1))) 597.19/151.16 , 5: U41^#(tt(), V1, V2) -> 597.19/151.16 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.16 isPalListKind^#(activate(V1))) 597.19/151.16 , 6: U51^#(tt(), V1, V2) -> 597.19/151.16 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V1))) 597.19/151.16 , 7: isList^#(V) -> 597.19/151.16 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.16 isPalListKind^#(activate(V))) 597.19/151.16 , 8: isList^#(n____(V1, V2)) -> 597.19/151.16 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V1))) 597.19/151.16 , 9: U42^#(tt(), V1, V2) -> 597.19/151.16 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V2))) 597.19/151.16 , 10: U43^#(tt(), V1, V2) -> 597.19/151.16 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V2))) 597.19/151.16 , 11: U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.16 , 12: U52^#(tt(), V1, V2) -> 597.19/151.16 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V2))) 597.19/151.16 , 13: U53^#(tt(), V1, V2) -> 597.19/151.16 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V2))) 597.19/151.16 , 14: U54^#(tt(), V1, V2) -> 597.19/151.16 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.16 isNeList^#(activate(V1))) 597.19/151.16 , 15: U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.16 , 16: isPal^#(V) -> 597.19/151.16 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.16 isPalListKind^#(activate(V))) 597.19/151.16 , 17: isNePal^#(V) -> 597.19/151.16 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.16 isPalListKind^#(activate(V))) 597.19/151.16 , 18: U21^#(tt(), V1, V2) -> 597.19/151.16 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V1))) 597.19/151.16 , 19: U22^#(tt(), V1, V2) -> 597.19/151.16 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V2))) 597.19/151.16 , 20: U23^#(tt(), V1, V2) -> 597.19/151.16 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V2))) 597.19/151.16 , 21: U24^#(tt(), V1, V2) -> 597.19/151.16 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.16 isList^#(activate(V1))) 597.19/151.16 , 22: U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.16 , 23: U44^#(tt(), V1, V2) -> 597.19/151.16 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.16 isList^#(activate(V1))) 597.19/151.16 , 24: U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.16 , 25: U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.16 , 26: U71^#(tt(), I, P) -> 597.19/151.16 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.16 isPalListKind^#(activate(I))) 597.19/151.16 , 27: U72^#(tt(), P) -> 597.19/151.16 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.16 , 28: U81^#(tt(), V) -> 597.19/151.16 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.16 isPalListKind^#(activate(V))) 597.19/151.16 , 29: U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) } 597.19/151.16 597.19/151.16 We are left with following problem, upon which TcT provides the 597.19/151.16 certificate YES(O(1),O(n^1)). 597.19/151.16 597.19/151.16 Strict DPs: 597.19/151.16 { U11^#(tt(), V) -> 597.19/151.16 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.16 isPalListKind^#(activate(V))) 597.19/151.16 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.16 , isNeList^#(n____(V1, V2)) -> 597.19/151.16 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.16 isPalListKind^#(activate(V1))) 597.19/151.16 , isNeList^#(n____(V1, V2)) -> 597.19/151.16 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.16 isPalListKind^#(activate(V1))) 597.19/151.16 , U41^#(tt(), V1, V2) -> 597.19/151.16 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.16 isPalListKind^#(activate(V1))) 597.19/151.16 , U51^#(tt(), V1, V2) -> 597.19/151.16 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V1))) 597.19/151.16 , isList^#(V) -> 597.19/151.16 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.16 isPalListKind^#(activate(V))) 597.19/151.16 , isList^#(n____(V1, V2)) -> 597.19/151.16 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V1))) 597.19/151.16 , U42^#(tt(), V1, V2) -> 597.19/151.16 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V2))) 597.19/151.16 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.16 , U52^#(tt(), V1, V2) -> 597.19/151.16 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V2))) 597.19/151.16 , U53^#(tt(), V1, V2) -> 597.19/151.16 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V2))) 597.19/151.16 , U54^#(tt(), V1, V2) -> 597.19/151.16 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.16 isNeList^#(activate(V1))) 597.19/151.16 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.16 , isPal^#(V) -> 597.19/151.16 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.16 isPalListKind^#(activate(V))) 597.19/151.16 , isNePal^#(V) -> 597.19/151.16 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.16 isPalListKind^#(activate(V))) } 597.19/151.16 Weak DPs: 597.19/151.16 { U21^#(tt(), V1, V2) -> 597.19/151.16 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V1))) 597.19/151.16 , U22^#(tt(), V1, V2) -> 597.19/151.16 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V2))) 597.19/151.16 , U23^#(tt(), V1, V2) -> 597.19/151.16 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V2))) 597.19/151.16 , U24^#(tt(), V1, V2) -> 597.19/151.16 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.16 isList^#(activate(V1))) 597.19/151.16 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.16 , U43^#(tt(), V1, V2) -> 597.19/151.16 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.16 activate(V1), 597.19/151.16 activate(V2)), 597.19/151.16 isPalListKind^#(activate(V2))) 597.19/151.16 , U44^#(tt(), V1, V2) -> 597.19/151.16 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.16 isList^#(activate(V1))) 597.19/151.16 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.16 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.16 , U71^#(tt(), I, P) -> 597.19/151.16 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.16 isPalListKind^#(activate(I))) 597.19/151.16 , U72^#(tt(), P) -> 597.19/151.16 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.16 , U81^#(tt(), V) -> 597.19/151.16 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.16 isPalListKind^#(activate(V))) 597.19/151.16 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) } 597.19/151.16 Weak Trs: 597.19/151.16 { __(X1, X2) -> n____(X1, X2) 597.19/151.16 , nil() -> n__nil() 597.19/151.16 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.19/151.16 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.19/151.16 , isPalListKind(n__nil()) -> tt() 597.19/151.16 , isPalListKind(n____(V1, V2)) -> 597.19/151.16 U91(isPalListKind(activate(V1)), activate(V2)) 597.19/151.16 , isPalListKind(n__a()) -> tt() 597.19/151.16 , isPalListKind(n__e()) -> tt() 597.19/151.16 , isPalListKind(n__i()) -> tt() 597.19/151.16 , isPalListKind(n__o()) -> tt() 597.19/151.16 , isPalListKind(n__u()) -> tt() 597.19/151.16 , activate(X) -> X 597.19/151.16 , activate(n__nil()) -> nil() 597.19/151.16 , activate(n____(X1, X2)) -> __(X1, X2) 597.19/151.16 , activate(n__a()) -> a() 597.19/151.16 , activate(n__e()) -> e() 597.19/151.16 , activate(n__i()) -> i() 597.19/151.16 , activate(n__o()) -> o() 597.19/151.16 , activate(n__u()) -> u() 597.19/151.16 , U13(tt()) -> tt() 597.19/151.16 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.19/151.16 , isNeList(n____(V1, V2)) -> 597.19/151.16 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.16 , isNeList(n____(V1, V2)) -> 597.19/151.16 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.16 , U21(tt(), V1, V2) -> 597.19/151.16 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.16 , U22(tt(), V1, V2) -> 597.19/151.16 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.16 , U23(tt(), V1, V2) -> 597.19/151.16 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.16 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.19/151.17 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.19/151.17 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.19/151.17 , isList(n__nil()) -> tt() 597.19/151.17 , isList(n____(V1, V2)) -> 597.19/151.17 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.17 , U26(tt()) -> tt() 597.19/151.17 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.19/151.17 , U32(tt(), V) -> U33(isQid(activate(V))) 597.19/151.17 , U33(tt()) -> tt() 597.19/151.17 , isQid(n__a()) -> tt() 597.19/151.17 , isQid(n__e()) -> tt() 597.19/151.17 , isQid(n__i()) -> tt() 597.19/151.17 , isQid(n__o()) -> tt() 597.19/151.17 , isQid(n__u()) -> tt() 597.19/151.17 , U41(tt(), V1, V2) -> 597.19/151.17 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.17 , U42(tt(), V1, V2) -> 597.19/151.17 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.17 , U43(tt(), V1, V2) -> 597.19/151.17 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.17 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.19/151.17 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.19/151.17 , U46(tt()) -> tt() 597.19/151.17 , U51(tt(), V1, V2) -> 597.19/151.17 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.17 , U52(tt(), V1, V2) -> 597.19/151.17 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.17 , U53(tt(), V1, V2) -> 597.19/151.17 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.17 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.19/151.17 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.19/151.17 , U56(tt()) -> tt() 597.19/151.17 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.19/151.17 , U62(tt(), V) -> U63(isQid(activate(V))) 597.19/151.17 , U63(tt()) -> tt() 597.19/151.17 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.19/151.17 , isPal(n__nil()) -> tt() 597.19/151.17 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.19/151.17 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.19/151.17 , U83(tt()) -> tt() 597.19/151.17 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.19/151.17 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.19/151.17 , U92(tt()) -> tt() 597.19/151.17 , a() -> n__a() 597.19/151.17 , e() -> n__e() 597.19/151.17 , i() -> n__i() 597.19/151.17 , o() -> n__o() 597.19/151.17 , u() -> n__u() } 597.19/151.17 Obligation: 597.19/151.17 innermost runtime complexity 597.19/151.17 Answer: 597.19/151.17 YES(O(1),O(n^1)) 597.19/151.17 597.19/151.17 We estimate the number of application of {9} by applications of 597.19/151.17 Pre({9}) = {5}. Here rules are labeled as follows: 597.19/151.17 597.19/151.17 DPs: 597.19/151.17 { 1: U11^#(tt(), V) -> 597.19/151.17 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.17 isPalListKind^#(activate(V))) 597.19/151.17 , 2: U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.17 , 3: isNeList^#(n____(V1, V2)) -> 597.19/151.17 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.17 isPalListKind^#(activate(V1))) 597.19/151.17 , 4: isNeList^#(n____(V1, V2)) -> 597.19/151.17 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.17 isPalListKind^#(activate(V1))) 597.19/151.17 , 5: U41^#(tt(), V1, V2) -> 597.19/151.17 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.17 isPalListKind^#(activate(V1))) 597.19/151.17 , 6: U51^#(tt(), V1, V2) -> 597.19/151.17 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V1))) 597.19/151.17 , 7: isList^#(V) -> 597.19/151.17 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.17 isPalListKind^#(activate(V))) 597.19/151.17 , 8: isList^#(n____(V1, V2)) -> 597.19/151.17 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V1))) 597.19/151.17 , 9: U42^#(tt(), V1, V2) -> 597.19/151.17 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V2))) 597.19/151.17 , 10: U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.17 , 11: U52^#(tt(), V1, V2) -> 597.19/151.17 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V2))) 597.19/151.17 , 12: U53^#(tt(), V1, V2) -> 597.19/151.17 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V2))) 597.19/151.17 , 13: U54^#(tt(), V1, V2) -> 597.19/151.17 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.17 isNeList^#(activate(V1))) 597.19/151.17 , 14: U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.17 , 15: isPal^#(V) -> 597.19/151.17 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.17 isPalListKind^#(activate(V))) 597.19/151.17 , 16: isNePal^#(V) -> 597.19/151.17 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.17 isPalListKind^#(activate(V))) 597.19/151.17 , 17: U21^#(tt(), V1, V2) -> 597.19/151.17 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V1))) 597.19/151.17 , 18: U22^#(tt(), V1, V2) -> 597.19/151.17 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V2))) 597.19/151.17 , 19: U23^#(tt(), V1, V2) -> 597.19/151.17 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V2))) 597.19/151.17 , 20: U24^#(tt(), V1, V2) -> 597.19/151.17 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.17 isList^#(activate(V1))) 597.19/151.17 , 21: U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.17 , 22: U43^#(tt(), V1, V2) -> 597.19/151.17 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V2))) 597.19/151.17 , 23: U44^#(tt(), V1, V2) -> 597.19/151.17 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.17 isList^#(activate(V1))) 597.19/151.17 , 24: U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.17 , 25: U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.17 , 26: U71^#(tt(), I, P) -> 597.19/151.17 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.17 isPalListKind^#(activate(I))) 597.19/151.17 , 27: U72^#(tt(), P) -> 597.19/151.17 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.17 , 28: U81^#(tt(), V) -> 597.19/151.17 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.17 isPalListKind^#(activate(V))) 597.19/151.17 , 29: U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) } 597.19/151.17 597.19/151.17 We are left with following problem, upon which TcT provides the 597.19/151.17 certificate YES(O(1),O(n^1)). 597.19/151.17 597.19/151.17 Strict DPs: 597.19/151.17 { U11^#(tt(), V) -> 597.19/151.17 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.17 isPalListKind^#(activate(V))) 597.19/151.17 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.17 , isNeList^#(n____(V1, V2)) -> 597.19/151.17 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.17 isPalListKind^#(activate(V1))) 597.19/151.17 , isNeList^#(n____(V1, V2)) -> 597.19/151.17 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.17 isPalListKind^#(activate(V1))) 597.19/151.17 , U41^#(tt(), V1, V2) -> 597.19/151.17 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.17 isPalListKind^#(activate(V1))) 597.19/151.17 , U51^#(tt(), V1, V2) -> 597.19/151.17 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V1))) 597.19/151.17 , isList^#(V) -> 597.19/151.17 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.17 isPalListKind^#(activate(V))) 597.19/151.17 , isList^#(n____(V1, V2)) -> 597.19/151.17 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V1))) 597.19/151.17 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.17 , U52^#(tt(), V1, V2) -> 597.19/151.17 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V2))) 597.19/151.17 , U53^#(tt(), V1, V2) -> 597.19/151.17 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V2))) 597.19/151.17 , U54^#(tt(), V1, V2) -> 597.19/151.17 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.17 isNeList^#(activate(V1))) 597.19/151.17 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.17 , isPal^#(V) -> 597.19/151.17 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.17 isPalListKind^#(activate(V))) 597.19/151.17 , isNePal^#(V) -> 597.19/151.17 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.17 isPalListKind^#(activate(V))) } 597.19/151.17 Weak DPs: 597.19/151.17 { U21^#(tt(), V1, V2) -> 597.19/151.17 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V1))) 597.19/151.17 , U22^#(tt(), V1, V2) -> 597.19/151.17 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V2))) 597.19/151.17 , U23^#(tt(), V1, V2) -> 597.19/151.17 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V2))) 597.19/151.17 , U24^#(tt(), V1, V2) -> 597.19/151.17 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.17 isList^#(activate(V1))) 597.19/151.17 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.17 , U42^#(tt(), V1, V2) -> 597.19/151.17 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V2))) 597.19/151.17 , U43^#(tt(), V1, V2) -> 597.19/151.17 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.17 activate(V1), 597.19/151.17 activate(V2)), 597.19/151.17 isPalListKind^#(activate(V2))) 597.19/151.17 , U44^#(tt(), V1, V2) -> 597.19/151.17 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.17 isList^#(activate(V1))) 597.19/151.17 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.17 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.17 , U71^#(tt(), I, P) -> 597.19/151.17 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.17 isPalListKind^#(activate(I))) 597.19/151.17 , U72^#(tt(), P) -> 597.19/151.17 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.17 , U81^#(tt(), V) -> 597.19/151.17 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.17 isPalListKind^#(activate(V))) 597.19/151.17 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) } 597.19/151.17 Weak Trs: 597.19/151.17 { __(X1, X2) -> n____(X1, X2) 597.19/151.17 , nil() -> n__nil() 597.19/151.17 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.19/151.17 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.19/151.17 , isPalListKind(n__nil()) -> tt() 597.19/151.17 , isPalListKind(n____(V1, V2)) -> 597.19/151.17 U91(isPalListKind(activate(V1)), activate(V2)) 597.19/151.17 , isPalListKind(n__a()) -> tt() 597.19/151.17 , isPalListKind(n__e()) -> tt() 597.19/151.17 , isPalListKind(n__i()) -> tt() 597.19/151.17 , isPalListKind(n__o()) -> tt() 597.19/151.17 , isPalListKind(n__u()) -> tt() 597.19/151.17 , activate(X) -> X 597.19/151.17 , activate(n__nil()) -> nil() 597.19/151.17 , activate(n____(X1, X2)) -> __(X1, X2) 597.19/151.17 , activate(n__a()) -> a() 597.19/151.17 , activate(n__e()) -> e() 597.19/151.17 , activate(n__i()) -> i() 597.19/151.17 , activate(n__o()) -> o() 597.19/151.17 , activate(n__u()) -> u() 597.19/151.17 , U13(tt()) -> tt() 597.19/151.17 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.19/151.17 , isNeList(n____(V1, V2)) -> 597.19/151.17 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.17 , isNeList(n____(V1, V2)) -> 597.19/151.17 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.17 , U21(tt(), V1, V2) -> 597.19/151.17 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.17 , U22(tt(), V1, V2) -> 597.19/151.17 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.17 , U23(tt(), V1, V2) -> 597.19/151.17 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.17 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.19/151.17 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.19/151.17 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.19/151.17 , isList(n__nil()) -> tt() 597.19/151.17 , isList(n____(V1, V2)) -> 597.19/151.17 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.17 , U26(tt()) -> tt() 597.19/151.17 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.19/151.17 , U32(tt(), V) -> U33(isQid(activate(V))) 597.19/151.17 , U33(tt()) -> tt() 597.19/151.17 , isQid(n__a()) -> tt() 597.19/151.17 , isQid(n__e()) -> tt() 597.19/151.17 , isQid(n__i()) -> tt() 597.19/151.17 , isQid(n__o()) -> tt() 597.19/151.17 , isQid(n__u()) -> tt() 597.19/151.17 , U41(tt(), V1, V2) -> 597.19/151.17 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.17 , U42(tt(), V1, V2) -> 597.19/151.17 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.17 , U43(tt(), V1, V2) -> 597.19/151.17 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.17 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.19/151.17 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.19/151.17 , U46(tt()) -> tt() 597.19/151.17 , U51(tt(), V1, V2) -> 597.19/151.17 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.17 , U52(tt(), V1, V2) -> 597.19/151.17 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.17 , U53(tt(), V1, V2) -> 597.19/151.17 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.17 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.19/151.17 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.19/151.17 , U56(tt()) -> tt() 597.19/151.17 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.19/151.17 , U62(tt(), V) -> U63(isQid(activate(V))) 597.19/151.17 , U63(tt()) -> tt() 597.19/151.17 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.19/151.17 , isPal(n__nil()) -> tt() 597.19/151.17 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.19/151.17 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.19/151.17 , U83(tt()) -> tt() 597.19/151.17 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.19/151.17 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.19/151.17 , U92(tt()) -> tt() 597.19/151.17 , a() -> n__a() 597.19/151.17 , e() -> n__e() 597.19/151.17 , i() -> n__i() 597.19/151.17 , o() -> n__o() 597.19/151.17 , u() -> n__u() } 597.19/151.17 Obligation: 597.19/151.17 innermost runtime complexity 597.19/151.17 Answer: 597.19/151.17 YES(O(1),O(n^1)) 597.19/151.17 597.19/151.17 We estimate the number of application of {5} by applications of 597.19/151.17 Pre({5}) = {3}. Here rules are labeled as follows: 597.19/151.17 597.19/151.17 DPs: 597.19/151.17 { 1: U11^#(tt(), V) -> 597.19/151.17 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.17 isPalListKind^#(activate(V))) 597.19/151.17 , 2: U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.17 , 3: isNeList^#(n____(V1, V2)) -> 597.19/151.17 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.17 isPalListKind^#(activate(V1))) 597.19/151.18 , 4: isNeList^#(n____(V1, V2)) -> 597.19/151.18 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , 5: U41^#(tt(), V1, V2) -> 597.19/151.18 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , 6: U51^#(tt(), V1, V2) -> 597.19/151.18 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , 7: isList^#(V) -> 597.19/151.18 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) 597.19/151.18 , 8: isList^#(n____(V1, V2)) -> 597.19/151.18 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , 9: U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.18 , 10: U52^#(tt(), V1, V2) -> 597.19/151.18 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , 11: U53^#(tt(), V1, V2) -> 597.19/151.18 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , 12: U54^#(tt(), V1, V2) -> 597.19/151.18 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.18 isNeList^#(activate(V1))) 597.19/151.18 , 13: U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.18 , 14: isPal^#(V) -> 597.19/151.18 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) 597.19/151.18 , 15: isNePal^#(V) -> 597.19/151.18 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) 597.19/151.18 , 16: U21^#(tt(), V1, V2) -> 597.19/151.18 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , 17: U22^#(tt(), V1, V2) -> 597.19/151.18 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , 18: U23^#(tt(), V1, V2) -> 597.19/151.18 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , 19: U24^#(tt(), V1, V2) -> 597.19/151.18 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.18 isList^#(activate(V1))) 597.19/151.18 , 20: U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.18 , 21: U42^#(tt(), V1, V2) -> 597.19/151.18 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , 22: U43^#(tt(), V1, V2) -> 597.19/151.18 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , 23: U44^#(tt(), V1, V2) -> 597.19/151.18 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.18 isList^#(activate(V1))) 597.19/151.18 , 24: U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.18 , 25: U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.18 , 26: U71^#(tt(), I, P) -> 597.19/151.18 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.18 isPalListKind^#(activate(I))) 597.19/151.18 , 27: U72^#(tt(), P) -> 597.19/151.18 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.18 , 28: U81^#(tt(), V) -> 597.19/151.18 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) 597.19/151.18 , 29: U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) } 597.19/151.18 597.19/151.18 We are left with following problem, upon which TcT provides the 597.19/151.18 certificate YES(O(1),O(n^1)). 597.19/151.18 597.19/151.18 Strict DPs: 597.19/151.18 { U11^#(tt(), V) -> 597.19/151.18 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) 597.19/151.18 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.18 , isNeList^#(n____(V1, V2)) -> 597.19/151.18 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , isNeList^#(n____(V1, V2)) -> 597.19/151.18 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , U51^#(tt(), V1, V2) -> 597.19/151.18 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , isList^#(V) -> 597.19/151.18 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) 597.19/151.18 , isList^#(n____(V1, V2)) -> 597.19/151.18 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.18 , U52^#(tt(), V1, V2) -> 597.19/151.18 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , U53^#(tt(), V1, V2) -> 597.19/151.18 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , U54^#(tt(), V1, V2) -> 597.19/151.18 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.18 isNeList^#(activate(V1))) 597.19/151.18 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.18 , isPal^#(V) -> 597.19/151.18 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) 597.19/151.18 , isNePal^#(V) -> 597.19/151.18 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) } 597.19/151.18 Weak DPs: 597.19/151.18 { U41^#(tt(), V1, V2) -> 597.19/151.18 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , U21^#(tt(), V1, V2) -> 597.19/151.18 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , U22^#(tt(), V1, V2) -> 597.19/151.18 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , U23^#(tt(), V1, V2) -> 597.19/151.18 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , U24^#(tt(), V1, V2) -> 597.19/151.18 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.18 isList^#(activate(V1))) 597.19/151.18 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.18 , U42^#(tt(), V1, V2) -> 597.19/151.18 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , U43^#(tt(), V1, V2) -> 597.19/151.18 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , U44^#(tt(), V1, V2) -> 597.19/151.18 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.18 isList^#(activate(V1))) 597.19/151.18 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.18 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.18 , U71^#(tt(), I, P) -> 597.19/151.18 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.18 isPalListKind^#(activate(I))) 597.19/151.18 , U72^#(tt(), P) -> 597.19/151.18 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.18 , U81^#(tt(), V) -> 597.19/151.18 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) 597.19/151.18 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) } 597.19/151.18 Weak Trs: 597.19/151.18 { __(X1, X2) -> n____(X1, X2) 597.19/151.18 , nil() -> n__nil() 597.19/151.18 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.19/151.18 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.19/151.18 , isPalListKind(n__nil()) -> tt() 597.19/151.18 , isPalListKind(n____(V1, V2)) -> 597.19/151.18 U91(isPalListKind(activate(V1)), activate(V2)) 597.19/151.18 , isPalListKind(n__a()) -> tt() 597.19/151.18 , isPalListKind(n__e()) -> tt() 597.19/151.18 , isPalListKind(n__i()) -> tt() 597.19/151.18 , isPalListKind(n__o()) -> tt() 597.19/151.18 , isPalListKind(n__u()) -> tt() 597.19/151.18 , activate(X) -> X 597.19/151.18 , activate(n__nil()) -> nil() 597.19/151.18 , activate(n____(X1, X2)) -> __(X1, X2) 597.19/151.18 , activate(n__a()) -> a() 597.19/151.18 , activate(n__e()) -> e() 597.19/151.18 , activate(n__i()) -> i() 597.19/151.18 , activate(n__o()) -> o() 597.19/151.18 , activate(n__u()) -> u() 597.19/151.18 , U13(tt()) -> tt() 597.19/151.18 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.19/151.18 , isNeList(n____(V1, V2)) -> 597.19/151.18 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.18 , isNeList(n____(V1, V2)) -> 597.19/151.18 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.18 , U21(tt(), V1, V2) -> 597.19/151.18 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.18 , U22(tt(), V1, V2) -> 597.19/151.18 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.18 , U23(tt(), V1, V2) -> 597.19/151.18 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.18 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.19/151.18 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.19/151.18 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.19/151.18 , isList(n__nil()) -> tt() 597.19/151.18 , isList(n____(V1, V2)) -> 597.19/151.18 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.18 , U26(tt()) -> tt() 597.19/151.18 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.19/151.18 , U32(tt(), V) -> U33(isQid(activate(V))) 597.19/151.18 , U33(tt()) -> tt() 597.19/151.18 , isQid(n__a()) -> tt() 597.19/151.18 , isQid(n__e()) -> tt() 597.19/151.18 , isQid(n__i()) -> tt() 597.19/151.18 , isQid(n__o()) -> tt() 597.19/151.18 , isQid(n__u()) -> tt() 597.19/151.18 , U41(tt(), V1, V2) -> 597.19/151.18 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.18 , U42(tt(), V1, V2) -> 597.19/151.18 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.18 , U43(tt(), V1, V2) -> 597.19/151.18 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.18 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.19/151.18 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.19/151.18 , U46(tt()) -> tt() 597.19/151.18 , U51(tt(), V1, V2) -> 597.19/151.18 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.18 , U52(tt(), V1, V2) -> 597.19/151.18 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.18 , U53(tt(), V1, V2) -> 597.19/151.18 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.18 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.19/151.18 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.19/151.18 , U56(tt()) -> tt() 597.19/151.18 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.19/151.18 , U62(tt(), V) -> U63(isQid(activate(V))) 597.19/151.18 , U63(tt()) -> tt() 597.19/151.18 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.19/151.18 , isPal(n__nil()) -> tt() 597.19/151.18 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.19/151.18 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.19/151.18 , U83(tt()) -> tt() 597.19/151.18 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.19/151.18 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.19/151.18 , U92(tt()) -> tt() 597.19/151.18 , a() -> n__a() 597.19/151.18 , e() -> n__e() 597.19/151.18 , i() -> n__i() 597.19/151.18 , o() -> n__o() 597.19/151.18 , u() -> n__u() } 597.19/151.18 Obligation: 597.19/151.18 innermost runtime complexity 597.19/151.18 Answer: 597.19/151.18 YES(O(1),O(n^1)) 597.19/151.18 597.19/151.18 We estimate the number of application of {3} by applications of 597.19/151.18 Pre({3}) = {2,8,11}. Here rules are labeled as follows: 597.19/151.18 597.19/151.18 DPs: 597.19/151.18 { 1: U11^#(tt(), V) -> 597.19/151.18 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) 597.19/151.18 , 2: U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.18 , 3: isNeList^#(n____(V1, V2)) -> 597.19/151.18 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , 4: isNeList^#(n____(V1, V2)) -> 597.19/151.18 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , 5: U51^#(tt(), V1, V2) -> 597.19/151.18 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , 6: isList^#(V) -> 597.19/151.18 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) 597.19/151.18 , 7: isList^#(n____(V1, V2)) -> 597.19/151.18 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , 8: U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.18 , 9: U52^#(tt(), V1, V2) -> 597.19/151.18 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , 10: U53^#(tt(), V1, V2) -> 597.19/151.18 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , 11: U54^#(tt(), V1, V2) -> 597.19/151.18 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.18 isNeList^#(activate(V1))) 597.19/151.18 , 12: U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.18 , 13: isPal^#(V) -> 597.19/151.18 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) 597.19/151.18 , 14: isNePal^#(V) -> 597.19/151.18 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) 597.19/151.18 , 15: U41^#(tt(), V1, V2) -> 597.19/151.18 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , 16: U21^#(tt(), V1, V2) -> 597.19/151.18 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , 17: U22^#(tt(), V1, V2) -> 597.19/151.18 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , 18: U23^#(tt(), V1, V2) -> 597.19/151.18 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , 19: U24^#(tt(), V1, V2) -> 597.19/151.18 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.18 isList^#(activate(V1))) 597.19/151.18 , 20: U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.18 , 21: U42^#(tt(), V1, V2) -> 597.19/151.18 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , 22: U43^#(tt(), V1, V2) -> 597.19/151.18 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , 23: U44^#(tt(), V1, V2) -> 597.19/151.18 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.18 isList^#(activate(V1))) 597.19/151.18 , 24: U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.18 , 25: U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.18 , 26: U71^#(tt(), I, P) -> 597.19/151.18 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.18 isPalListKind^#(activate(I))) 597.19/151.18 , 27: U72^#(tt(), P) -> 597.19/151.18 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.18 , 28: U81^#(tt(), V) -> 597.19/151.18 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) 597.19/151.18 , 29: U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) } 597.19/151.18 597.19/151.18 We are left with following problem, upon which TcT provides the 597.19/151.18 certificate YES(O(1),O(n^1)). 597.19/151.18 597.19/151.18 Strict DPs: 597.19/151.18 { U11^#(tt(), V) -> 597.19/151.18 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) 597.19/151.18 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.18 , isNeList^#(n____(V1, V2)) -> 597.19/151.18 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , U51^#(tt(), V1, V2) -> 597.19/151.18 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , isList^#(V) -> 597.19/151.18 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) 597.19/151.18 , isList^#(n____(V1, V2)) -> 597.19/151.18 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.18 , U52^#(tt(), V1, V2) -> 597.19/151.18 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , U53^#(tt(), V1, V2) -> 597.19/151.18 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , U54^#(tt(), V1, V2) -> 597.19/151.18 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.18 isNeList^#(activate(V1))) 597.19/151.18 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.18 , isPal^#(V) -> 597.19/151.18 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) 597.19/151.18 , isNePal^#(V) -> 597.19/151.18 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) } 597.19/151.18 Weak DPs: 597.19/151.18 { isNeList^#(n____(V1, V2)) -> 597.19/151.18 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , U41^#(tt(), V1, V2) -> 597.19/151.18 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , U21^#(tt(), V1, V2) -> 597.19/151.18 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V1))) 597.19/151.18 , U22^#(tt(), V1, V2) -> 597.19/151.18 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , U23^#(tt(), V1, V2) -> 597.19/151.18 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , U24^#(tt(), V1, V2) -> 597.19/151.18 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.18 isList^#(activate(V1))) 597.19/151.18 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.18 , U42^#(tt(), V1, V2) -> 597.19/151.18 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , U43^#(tt(), V1, V2) -> 597.19/151.18 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.18 activate(V1), 597.19/151.18 activate(V2)), 597.19/151.18 isPalListKind^#(activate(V2))) 597.19/151.18 , U44^#(tt(), V1, V2) -> 597.19/151.18 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.18 isList^#(activate(V1))) 597.19/151.18 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.18 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.19/151.18 , U71^#(tt(), I, P) -> 597.19/151.18 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.18 isPalListKind^#(activate(I))) 597.19/151.18 , U72^#(tt(), P) -> 597.19/151.18 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.18 , U81^#(tt(), V) -> 597.19/151.18 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.18 isPalListKind^#(activate(V))) 597.19/151.18 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) } 597.19/151.18 Weak Trs: 597.19/151.18 { __(X1, X2) -> n____(X1, X2) 597.19/151.18 , nil() -> n__nil() 597.19/151.18 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.19/151.18 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.19/151.18 , isPalListKind(n__nil()) -> tt() 597.19/151.18 , isPalListKind(n____(V1, V2)) -> 597.19/151.18 U91(isPalListKind(activate(V1)), activate(V2)) 597.19/151.18 , isPalListKind(n__a()) -> tt() 597.19/151.18 , isPalListKind(n__e()) -> tt() 597.19/151.18 , isPalListKind(n__i()) -> tt() 597.19/151.18 , isPalListKind(n__o()) -> tt() 597.19/151.18 , isPalListKind(n__u()) -> tt() 597.19/151.18 , activate(X) -> X 597.19/151.18 , activate(n__nil()) -> nil() 597.19/151.18 , activate(n____(X1, X2)) -> __(X1, X2) 597.19/151.18 , activate(n__a()) -> a() 597.19/151.18 , activate(n__e()) -> e() 597.19/151.18 , activate(n__i()) -> i() 597.19/151.18 , activate(n__o()) -> o() 597.19/151.18 , activate(n__u()) -> u() 597.19/151.18 , U13(tt()) -> tt() 597.19/151.18 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.19/151.18 , isNeList(n____(V1, V2)) -> 597.19/151.18 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.18 , isNeList(n____(V1, V2)) -> 597.19/151.18 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.18 , U21(tt(), V1, V2) -> 597.19/151.18 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.18 , U22(tt(), V1, V2) -> 597.19/151.18 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.18 , U23(tt(), V1, V2) -> 597.19/151.18 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.19 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.19/151.19 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.19/151.19 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.19/151.19 , isList(n__nil()) -> tt() 597.19/151.19 , isList(n____(V1, V2)) -> 597.19/151.19 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.19 , U26(tt()) -> tt() 597.19/151.19 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.19/151.19 , U32(tt(), V) -> U33(isQid(activate(V))) 597.19/151.19 , U33(tt()) -> tt() 597.19/151.19 , isQid(n__a()) -> tt() 597.19/151.19 , isQid(n__e()) -> tt() 597.19/151.19 , isQid(n__i()) -> tt() 597.19/151.19 , isQid(n__o()) -> tt() 597.19/151.19 , isQid(n__u()) -> tt() 597.19/151.19 , U41(tt(), V1, V2) -> 597.19/151.19 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.19 , U42(tt(), V1, V2) -> 597.19/151.19 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.19 , U43(tt(), V1, V2) -> 597.19/151.19 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.19 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.19/151.19 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.19/151.19 , U46(tt()) -> tt() 597.19/151.19 , U51(tt(), V1, V2) -> 597.19/151.19 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.19 , U52(tt(), V1, V2) -> 597.19/151.19 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.19 , U53(tt(), V1, V2) -> 597.19/151.19 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.19 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.19/151.19 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.19/151.19 , U56(tt()) -> tt() 597.19/151.19 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.19/151.19 , U62(tt(), V) -> U63(isQid(activate(V))) 597.19/151.19 , U63(tt()) -> tt() 597.19/151.19 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.19/151.19 , isPal(n__nil()) -> tt() 597.19/151.19 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.19/151.19 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.19/151.19 , U83(tt()) -> tt() 597.19/151.19 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.19/151.19 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.19/151.19 , U92(tt()) -> tt() 597.19/151.19 , a() -> n__a() 597.19/151.19 , e() -> n__e() 597.19/151.19 , i() -> n__i() 597.19/151.19 , o() -> n__o() 597.19/151.19 , u() -> n__u() } 597.19/151.19 Obligation: 597.19/151.19 innermost runtime complexity 597.19/151.19 Answer: 597.19/151.19 YES(O(1),O(n^1)) 597.19/151.19 597.19/151.19 The following weak DPs constitute a sub-graph of the DG that is 597.19/151.19 closed under successors. The DPs are removed. 597.19/151.19 597.19/151.19 { U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) } 597.19/151.19 597.19/151.19 We are left with following problem, upon which TcT provides the 597.19/151.19 certificate YES(O(1),O(n^1)). 597.19/151.19 597.19/151.19 Strict DPs: 597.19/151.19 { U11^#(tt(), V) -> 597.19/151.19 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.19 isPalListKind^#(activate(V))) 597.19/151.19 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.19 , isNeList^#(n____(V1, V2)) -> 597.19/151.19 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.19 isPalListKind^#(activate(V1))) 597.19/151.19 , U51^#(tt(), V1, V2) -> 597.19/151.19 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V1))) 597.19/151.19 , isList^#(V) -> 597.19/151.19 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.19 isPalListKind^#(activate(V))) 597.19/151.19 , isList^#(n____(V1, V2)) -> 597.19/151.19 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V1))) 597.19/151.19 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.19/151.19 , U52^#(tt(), V1, V2) -> 597.19/151.19 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V2))) 597.19/151.19 , U53^#(tt(), V1, V2) -> 597.19/151.19 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V2))) 597.19/151.19 , U54^#(tt(), V1, V2) -> 597.19/151.19 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.19 isNeList^#(activate(V1))) 597.19/151.19 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.19 , isPal^#(V) -> 597.19/151.19 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.19 isPalListKind^#(activate(V))) 597.19/151.19 , isNePal^#(V) -> 597.19/151.19 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.19 isPalListKind^#(activate(V))) } 597.19/151.19 Weak DPs: 597.19/151.19 { isNeList^#(n____(V1, V2)) -> 597.19/151.19 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.19 isPalListKind^#(activate(V1))) 597.19/151.19 , U41^#(tt(), V1, V2) -> 597.19/151.19 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.19 isPalListKind^#(activate(V1))) 597.19/151.19 , U21^#(tt(), V1, V2) -> 597.19/151.19 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V1))) 597.19/151.19 , U22^#(tt(), V1, V2) -> 597.19/151.19 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V2))) 597.19/151.19 , U23^#(tt(), V1, V2) -> 597.19/151.19 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V2))) 597.19/151.19 , U24^#(tt(), V1, V2) -> 597.19/151.19 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.19 isList^#(activate(V1))) 597.19/151.19 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.19/151.19 , U42^#(tt(), V1, V2) -> 597.19/151.19 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V2))) 597.19/151.19 , U43^#(tt(), V1, V2) -> 597.19/151.19 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V2))) 597.19/151.19 , U44^#(tt(), V1, V2) -> 597.19/151.19 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.19/151.19 isList^#(activate(V1))) 597.19/151.19 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.19/151.19 , U71^#(tt(), I, P) -> 597.19/151.19 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.19 isPalListKind^#(activate(I))) 597.19/151.19 , U72^#(tt(), P) -> 597.19/151.19 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.19/151.19 , U81^#(tt(), V) -> 597.19/151.19 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.19 isPalListKind^#(activate(V))) 597.19/151.19 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) } 597.19/151.19 Weak Trs: 597.19/151.19 { __(X1, X2) -> n____(X1, X2) 597.19/151.19 , nil() -> n__nil() 597.19/151.19 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.19/151.19 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.19/151.19 , isPalListKind(n__nil()) -> tt() 597.19/151.19 , isPalListKind(n____(V1, V2)) -> 597.19/151.19 U91(isPalListKind(activate(V1)), activate(V2)) 597.19/151.19 , isPalListKind(n__a()) -> tt() 597.19/151.19 , isPalListKind(n__e()) -> tt() 597.19/151.19 , isPalListKind(n__i()) -> tt() 597.19/151.19 , isPalListKind(n__o()) -> tt() 597.19/151.19 , isPalListKind(n__u()) -> tt() 597.19/151.19 , activate(X) -> X 597.19/151.19 , activate(n__nil()) -> nil() 597.19/151.19 , activate(n____(X1, X2)) -> __(X1, X2) 597.19/151.19 , activate(n__a()) -> a() 597.19/151.19 , activate(n__e()) -> e() 597.19/151.19 , activate(n__i()) -> i() 597.19/151.19 , activate(n__o()) -> o() 597.19/151.19 , activate(n__u()) -> u() 597.19/151.19 , U13(tt()) -> tt() 597.19/151.19 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.19/151.19 , isNeList(n____(V1, V2)) -> 597.19/151.19 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.19 , isNeList(n____(V1, V2)) -> 597.19/151.19 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.19 , U21(tt(), V1, V2) -> 597.19/151.19 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.19 , U22(tt(), V1, V2) -> 597.19/151.19 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.19 , U23(tt(), V1, V2) -> 597.19/151.19 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.19 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.19/151.19 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.19/151.19 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.19/151.19 , isList(n__nil()) -> tt() 597.19/151.19 , isList(n____(V1, V2)) -> 597.19/151.19 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.19 , U26(tt()) -> tt() 597.19/151.19 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.19/151.19 , U32(tt(), V) -> U33(isQid(activate(V))) 597.19/151.19 , U33(tt()) -> tt() 597.19/151.19 , isQid(n__a()) -> tt() 597.19/151.19 , isQid(n__e()) -> tt() 597.19/151.19 , isQid(n__i()) -> tt() 597.19/151.19 , isQid(n__o()) -> tt() 597.19/151.19 , isQid(n__u()) -> tt() 597.19/151.19 , U41(tt(), V1, V2) -> 597.19/151.19 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.19 , U42(tt(), V1, V2) -> 597.19/151.19 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.19 , U43(tt(), V1, V2) -> 597.19/151.19 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.19 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.19/151.19 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.19/151.19 , U46(tt()) -> tt() 597.19/151.19 , U51(tt(), V1, V2) -> 597.19/151.19 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.19/151.19 , U52(tt(), V1, V2) -> 597.19/151.19 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.19 , U53(tt(), V1, V2) -> 597.19/151.19 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.19/151.19 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.19/151.19 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.19/151.19 , U56(tt()) -> tt() 597.19/151.19 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.19/151.19 , U62(tt(), V) -> U63(isQid(activate(V))) 597.19/151.19 , U63(tt()) -> tt() 597.19/151.19 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.19/151.19 , isPal(n__nil()) -> tt() 597.19/151.19 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.19/151.19 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.19/151.19 , U83(tt()) -> tt() 597.19/151.19 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.19/151.19 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.19/151.19 , U92(tt()) -> tt() 597.19/151.19 , a() -> n__a() 597.19/151.19 , e() -> n__e() 597.19/151.19 , i() -> n__i() 597.19/151.19 , o() -> n__o() 597.19/151.19 , u() -> n__u() } 597.19/151.19 Obligation: 597.19/151.19 innermost runtime complexity 597.19/151.19 Answer: 597.19/151.19 YES(O(1),O(n^1)) 597.19/151.19 597.19/151.19 Due to missing edges in the dependency-graph, the right-hand sides 597.19/151.19 of following rules could be simplified: 597.19/151.19 597.19/151.19 { U11^#(tt(), V) -> 597.19/151.19 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.19/151.19 isPalListKind^#(activate(V))) 597.19/151.19 , isNeList^#(n____(V1, V2)) -> 597.19/151.19 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.19 isPalListKind^#(activate(V1))) 597.19/151.19 , isNeList^#(n____(V1, V2)) -> 597.19/151.19 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.19 isPalListKind^#(activate(V1))) 597.19/151.19 , U41^#(tt(), V1, V2) -> 597.19/151.19 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.19/151.19 isPalListKind^#(activate(V1))) 597.19/151.19 , U51^#(tt(), V1, V2) -> 597.19/151.19 c_10(U52^#(isPalListKind(activate(V1)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V1))) 597.19/151.19 , U21^#(tt(), V1, V2) -> 597.19/151.19 c_11(U22^#(isPalListKind(activate(V1)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V1))) 597.19/151.19 , U22^#(tt(), V1, V2) -> 597.19/151.19 c_12(U23^#(isPalListKind(activate(V2)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V2))) 597.19/151.19 , U23^#(tt(), V1, V2) -> 597.19/151.19 c_13(U24^#(isPalListKind(activate(V2)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V2))) 597.19/151.19 , isList^#(V) -> 597.19/151.19 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.19/151.19 isPalListKind^#(activate(V))) 597.19/151.19 , isList^#(n____(V1, V2)) -> 597.19/151.19 c_17(U21^#(isPalListKind(activate(V1)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V1))) 597.19/151.19 , U42^#(tt(), V1, V2) -> 597.19/151.19 c_18(U43^#(isPalListKind(activate(V2)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V2))) 597.19/151.19 , U43^#(tt(), V1, V2) -> 597.19/151.19 c_19(U44^#(isPalListKind(activate(V2)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V2))) 597.19/151.19 , U52^#(tt(), V1, V2) -> 597.19/151.19 c_22(U53^#(isPalListKind(activate(V2)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V2))) 597.19/151.19 , U53^#(tt(), V1, V2) -> 597.19/151.19 c_23(U54^#(isPalListKind(activate(V2)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2)), 597.19/151.19 isPalListKind^#(activate(V2))) 597.19/151.19 , U71^#(tt(), I, P) -> 597.19/151.19 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.19/151.19 isPalListKind^#(activate(I))) 597.19/151.19 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.19/151.19 , isPal^#(V) -> 597.19/151.19 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.19/151.19 isPalListKind^#(activate(V))) 597.19/151.19 , U81^#(tt(), V) -> 597.19/151.19 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.19/151.19 isPalListKind^#(activate(V))) 597.19/151.19 , isNePal^#(V) -> 597.19/151.19 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.19/151.19 isPalListKind^#(activate(V))) } 597.19/151.19 597.19/151.19 We are left with following problem, upon which TcT provides the 597.19/151.19 certificate YES(O(1),O(n^1)). 597.19/151.19 597.19/151.19 Strict DPs: 597.19/151.19 { U11^#(tt(), V) -> 597.19/151.19 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.19/151.19 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.19/151.19 , isNeList^#(n____(V1, V2)) -> 597.19/151.19 c_3(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.19/151.19 , U51^#(tt(), V1, V2) -> 597.19/151.19 c_4(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.19/151.19 , isList^#(V) -> 597.19/151.19 c_5(U11^#(isPalListKind(activate(V)), activate(V))) 597.19/151.19 , isList^#(n____(V1, V2)) -> 597.19/151.19 c_6(U21^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.19/151.19 , U45^#(tt(), V2) -> c_7(isNeList^#(activate(V2))) 597.19/151.19 , U52^#(tt(), V1, V2) -> 597.19/151.19 c_8(U53^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.19/151.19 , U53^#(tt(), V1, V2) -> 597.19/151.19 c_9(U54^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.19/151.19 , U54^#(tt(), V1, V2) -> 597.19/151.19 c_10(U55^#(isNeList(activate(V1)), activate(V2)), 597.19/151.19 isNeList^#(activate(V1))) 597.19/151.19 , U73^#(tt(), P) -> c_11() 597.19/151.19 , isPal^#(V) -> 597.19/151.19 c_12(U81^#(isPalListKind(activate(V)), activate(V))) 597.19/151.19 , isNePal^#(V) -> c_13() } 597.19/151.19 Weak DPs: 597.19/151.19 { isNeList^#(n____(V1, V2)) -> 597.19/151.19 c_14(U41^#(isPalListKind(activate(V1)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2))) 597.19/151.19 , U41^#(tt(), V1, V2) -> 597.19/151.19 c_15(U42^#(isPalListKind(activate(V1)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2))) 597.19/151.19 , U21^#(tt(), V1, V2) -> 597.19/151.19 c_16(U22^#(isPalListKind(activate(V1)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2))) 597.19/151.19 , U22^#(tt(), V1, V2) -> 597.19/151.19 c_17(U23^#(isPalListKind(activate(V2)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2))) 597.19/151.19 , U23^#(tt(), V1, V2) -> 597.19/151.19 c_18(U24^#(isPalListKind(activate(V2)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2))) 597.19/151.19 , U24^#(tt(), V1, V2) -> 597.19/151.19 c_19(U25^#(isList(activate(V1)), activate(V2)), 597.19/151.19 isList^#(activate(V1))) 597.19/151.19 , U25^#(tt(), V2) -> c_20(isList^#(activate(V2))) 597.19/151.19 , U42^#(tt(), V1, V2) -> 597.19/151.19 c_21(U43^#(isPalListKind(activate(V2)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2))) 597.19/151.19 , U43^#(tt(), V1, V2) -> 597.19/151.19 c_22(U44^#(isPalListKind(activate(V2)), 597.19/151.19 activate(V1), 597.19/151.19 activate(V2))) 597.44/151.20 , U44^#(tt(), V1, V2) -> 597.44/151.20 c_23(U45^#(isList(activate(V1)), activate(V2)), 597.44/151.20 isList^#(activate(V1))) 597.44/151.20 , U55^#(tt(), V2) -> c_24(isList^#(activate(V2))) 597.44/151.20 , U71^#(tt(), I, P) -> 597.44/151.20 c_25(U72^#(isPalListKind(activate(I)), activate(P))) 597.44/151.20 , U72^#(tt(), P) -> 597.44/151.20 c_26(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.44/151.20 , U81^#(tt(), V) -> 597.44/151.20 c_27(U82^#(isPalListKind(activate(V)), activate(V))) 597.44/151.20 , U82^#(tt(), V) -> c_28(isNePal^#(activate(V))) } 597.44/151.20 Weak Trs: 597.44/151.20 { __(X1, X2) -> n____(X1, X2) 597.44/151.20 , nil() -> n__nil() 597.44/151.20 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.44/151.20 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.44/151.20 , isPalListKind(n__nil()) -> tt() 597.44/151.20 , isPalListKind(n____(V1, V2)) -> 597.44/151.20 U91(isPalListKind(activate(V1)), activate(V2)) 597.44/151.20 , isPalListKind(n__a()) -> tt() 597.44/151.20 , isPalListKind(n__e()) -> tt() 597.44/151.20 , isPalListKind(n__i()) -> tt() 597.44/151.20 , isPalListKind(n__o()) -> tt() 597.44/151.20 , isPalListKind(n__u()) -> tt() 597.44/151.20 , activate(X) -> X 597.44/151.20 , activate(n__nil()) -> nil() 597.44/151.20 , activate(n____(X1, X2)) -> __(X1, X2) 597.44/151.20 , activate(n__a()) -> a() 597.44/151.20 , activate(n__e()) -> e() 597.44/151.20 , activate(n__i()) -> i() 597.44/151.20 , activate(n__o()) -> o() 597.44/151.20 , activate(n__u()) -> u() 597.44/151.20 , U13(tt()) -> tt() 597.44/151.20 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.44/151.20 , isNeList(n____(V1, V2)) -> 597.44/151.20 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.20 , isNeList(n____(V1, V2)) -> 597.44/151.20 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.20 , U21(tt(), V1, V2) -> 597.44/151.20 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.20 , U22(tt(), V1, V2) -> 597.44/151.20 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.20 , U23(tt(), V1, V2) -> 597.44/151.20 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.20 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.44/151.20 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.44/151.20 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.44/151.20 , isList(n__nil()) -> tt() 597.44/151.20 , isList(n____(V1, V2)) -> 597.44/151.20 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.20 , U26(tt()) -> tt() 597.44/151.20 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.44/151.20 , U32(tt(), V) -> U33(isQid(activate(V))) 597.44/151.20 , U33(tt()) -> tt() 597.44/151.20 , isQid(n__a()) -> tt() 597.44/151.20 , isQid(n__e()) -> tt() 597.44/151.20 , isQid(n__i()) -> tt() 597.44/151.20 , isQid(n__o()) -> tt() 597.44/151.20 , isQid(n__u()) -> tt() 597.44/151.20 , U41(tt(), V1, V2) -> 597.44/151.20 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.20 , U42(tt(), V1, V2) -> 597.44/151.20 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.20 , U43(tt(), V1, V2) -> 597.44/151.20 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.20 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.44/151.20 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.44/151.20 , U46(tt()) -> tt() 597.44/151.20 , U51(tt(), V1, V2) -> 597.44/151.20 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.20 , U52(tt(), V1, V2) -> 597.44/151.20 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.20 , U53(tt(), V1, V2) -> 597.44/151.20 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.20 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.44/151.20 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.44/151.20 , U56(tt()) -> tt() 597.44/151.20 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.44/151.20 , U62(tt(), V) -> U63(isQid(activate(V))) 597.44/151.20 , U63(tt()) -> tt() 597.44/151.20 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.44/151.20 , isPal(n__nil()) -> tt() 597.44/151.20 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.44/151.20 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.44/151.20 , U83(tt()) -> tt() 597.44/151.20 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.44/151.20 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.44/151.20 , U92(tt()) -> tt() 597.44/151.20 , a() -> n__a() 597.44/151.20 , e() -> n__e() 597.44/151.20 , i() -> n__i() 597.44/151.20 , o() -> n__o() 597.44/151.20 , u() -> n__u() } 597.44/151.20 Obligation: 597.44/151.20 innermost runtime complexity 597.44/151.20 Answer: 597.44/151.20 YES(O(1),O(n^1)) 597.44/151.20 597.44/151.20 We use the processor 'matrix interpretation of dimension 1' to 597.44/151.20 orient following rules strictly. 597.44/151.20 597.44/151.20 DPs: 597.44/151.20 { 25: U71^#(tt(), I, P) -> 597.44/151.20 c_25(U72^#(isPalListKind(activate(I)), activate(P))) } 597.44/151.20 Trs: 597.44/151.20 { __(X1, X2) -> n____(X1, X2) 597.44/151.20 , nil() -> n__nil() 597.44/151.20 , a() -> n__a() 597.44/151.20 , e() -> n__e() 597.44/151.20 , i() -> n__i() 597.44/151.20 , o() -> n__o() 597.44/151.20 , u() -> n__u() } 597.44/151.20 597.44/151.20 Sub-proof: 597.44/151.20 ---------- 597.44/151.20 The following argument positions are usable: 597.44/151.20 Uargs(c_1) = {1}, Uargs(c_2) = {1}, Uargs(c_3) = {1}, 597.44/151.20 Uargs(c_4) = {1}, Uargs(c_5) = {1}, Uargs(c_6) = {1}, 597.44/151.20 Uargs(c_7) = {1}, Uargs(c_8) = {1}, Uargs(c_9) = {1}, 597.44/151.20 Uargs(c_10) = {1, 2}, Uargs(c_12) = {1}, Uargs(c_14) = {1}, 597.44/151.20 Uargs(c_15) = {1}, Uargs(c_16) = {1}, Uargs(c_17) = {1}, 597.44/151.20 Uargs(c_18) = {1}, Uargs(c_19) = {1, 2}, Uargs(c_20) = {1}, 597.44/151.20 Uargs(c_21) = {1}, Uargs(c_22) = {1}, Uargs(c_23) = {1, 2}, 597.44/151.20 Uargs(c_24) = {1}, Uargs(c_25) = {1}, Uargs(c_26) = {1, 2}, 597.44/151.20 Uargs(c_27) = {1}, Uargs(c_28) = {1} 597.44/151.20 597.44/151.20 TcT has computed the following constructor-restricted matrix 597.44/151.20 interpretation. Note that the diagonal of the component-wise maxima 597.44/151.20 of interpretation-entries (of constructors) contains no more than 0 597.44/151.20 non-zero entries. 597.44/151.20 597.44/151.20 [__](x1, x2) = [7] x2 + [7] 597.44/151.20 597.44/151.20 [nil] = [1] 597.44/151.20 597.44/151.20 [U11](x1, x2) = [0] 597.44/151.20 597.44/151.20 [tt] = [0] 597.44/151.20 597.44/151.20 [U12](x1, x2) = [0] 597.44/151.20 597.44/151.20 [isPalListKind](x1) = [0] 597.44/151.20 597.44/151.20 [activate](x1) = [0] 597.44/151.20 597.44/151.20 [U13](x1) = [0] 597.44/151.20 597.44/151.20 [isNeList](x1) = [0] 597.44/151.20 597.44/151.20 [U21](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U22](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U23](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U24](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U25](x1, x2) = [0] 597.44/151.20 597.44/151.20 [isList](x1) = [0] 597.44/151.20 597.44/151.20 [U26](x1) = [0] 597.44/151.20 597.44/151.20 [U31](x1, x2) = [0] 597.44/151.20 597.44/151.20 [U32](x1, x2) = [0] 597.44/151.20 597.44/151.20 [U33](x1) = [0] 597.44/151.20 597.44/151.20 [isQid](x1) = [0] 597.44/151.20 597.44/151.20 [U41](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U42](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U43](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U44](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U45](x1, x2) = [0] 597.44/151.20 597.44/151.20 [U46](x1) = [0] 597.44/151.20 597.44/151.20 [U51](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U52](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U53](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U54](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U55](x1, x2) = [0] 597.44/151.20 597.44/151.20 [U56](x1) = [0] 597.44/151.20 597.44/151.20 [U61](x1, x2) = [0] 597.44/151.20 597.44/151.20 [U62](x1, x2) = [0] 597.44/151.20 597.44/151.20 [U63](x1) = [0] 597.44/151.20 597.44/151.20 [isPal](x1) = [0] 597.44/151.20 597.44/151.20 [U81](x1, x2) = [0] 597.44/151.20 597.44/151.20 [U82](x1, x2) = [0] 597.44/151.20 597.44/151.20 [U83](x1) = [0] 597.44/151.20 597.44/151.20 [isNePal](x1) = [0] 597.44/151.20 597.44/151.20 [U91](x1, x2) = [0] 597.44/151.20 597.44/151.20 [U92](x1) = [0] 597.44/151.20 597.44/151.20 [n__nil] = [0] 597.44/151.20 597.44/151.20 [n____](x1, x2) = [0] 597.44/151.20 597.44/151.20 [n__a] = [0] 597.44/151.20 597.44/151.20 [n__e] = [0] 597.44/151.20 597.44/151.20 [n__i] = [0] 597.44/151.20 597.44/151.20 [n__o] = [0] 597.44/151.20 597.44/151.20 [n__u] = [0] 597.44/151.20 597.44/151.20 [a] = [1] 597.44/151.20 597.44/151.20 [e] = [1] 597.44/151.20 597.44/151.20 [i] = [7] 597.44/151.20 597.44/151.20 [o] = [1] 597.44/151.20 597.44/151.20 [u] = [1] 597.44/151.20 597.44/151.20 [U11^#](x1, x2) = [0] 597.44/151.20 597.44/151.20 [U12^#](x1, x2) = [0] 597.44/151.20 597.44/151.20 [isPalListKind^#](x1) = [0] 597.44/151.20 597.44/151.20 [isNeList^#](x1) = [0] 597.44/151.20 597.44/151.20 [U41^#](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U51^#](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U21^#](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U22^#](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U23^#](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U24^#](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U25^#](x1, x2) = [0] 597.44/151.20 597.44/151.20 [isList^#](x1) = [0] 597.44/151.20 597.44/151.20 [U42^#](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U43^#](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U44^#](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U45^#](x1, x2) = [0] 597.44/151.20 597.44/151.20 [U52^#](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U53^#](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U54^#](x1, x2, x3) = [0] 597.44/151.20 597.44/151.20 [U55^#](x1, x2) = [0] 597.44/151.20 597.44/151.20 [U61^#](x1, x2) = [0] 597.44/151.20 597.44/151.20 [U71^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [7] 597.44/151.20 597.44/151.20 [U72^#](x1, x2) = [0] 597.44/151.20 597.44/151.20 [U73^#](x1, x2) = [0] 597.44/151.20 597.44/151.20 [isPal^#](x1) = [0] 597.44/151.20 597.44/151.20 [U81^#](x1, x2) = [0] 597.44/151.20 597.44/151.20 [U82^#](x1, x2) = [0] 597.44/151.20 597.44/151.20 [isNePal^#](x1) = [0] 597.44/151.20 597.44/151.20 [c_1](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_2](x1) = [0] 597.44/151.20 597.44/151.20 [c_5](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_6](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_9](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_10](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_11](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_12](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_13](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_14](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_15](x1) = [0] 597.44/151.20 597.44/151.20 [c_16](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_17](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_18](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_19](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_20](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_21](x1) = [0] 597.44/151.20 597.44/151.20 [c_22](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_23](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_24](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_25](x1) = [0] 597.44/151.20 597.44/151.20 [c_26](x1) = [0] 597.44/151.20 597.44/151.20 [c_27](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_28](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_29](x1) = [0] 597.44/151.20 597.44/151.20 [c_30](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_31](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c_32](x1) = [0] 597.44/151.20 597.44/151.20 [c_33](x1, x2) = [0] 597.44/151.20 597.44/151.20 [c] = [0] 597.44/151.20 597.44/151.20 [c_1](x1) = [4] x1 + [0] 597.44/151.20 597.44/151.20 [c_2](x1) = [4] x1 + [0] 597.44/151.20 597.44/151.20 [c_3](x1) = [1] x1 + [0] 597.44/151.20 597.44/151.20 [c_4](x1) = [4] x1 + [0] 597.44/151.20 597.44/151.20 [c_5](x1) = [1] x1 + [0] 597.44/151.20 597.44/151.20 [c_6](x1) = [4] x1 + [0] 597.44/151.20 597.44/151.20 [c_7](x1) = [4] x1 + [0] 597.44/151.20 597.44/151.20 [c_8](x1) = [1] x1 + [0] 597.44/151.20 597.44/151.20 [c_9](x1) = [4] x1 + [0] 597.44/151.20 597.44/151.20 [c_10](x1, x2) = [4] x1 + [4] x2 + [0] 597.44/151.20 597.44/151.20 [c_11] = [0] 597.44/151.20 597.44/151.20 [c_12](x1) = [2] x1 + [0] 597.44/151.20 597.44/151.20 [c_13] = [0] 597.44/151.20 597.44/151.20 [c_14](x1) = [1] x1 + [0] 597.44/151.20 597.44/151.20 [c_15](x1) = [4] x1 + [0] 597.44/151.20 597.44/151.20 [c_16](x1) = [1] x1 + [0] 597.44/151.20 597.44/151.20 [c_17](x1) = [2] x1 + [0] 597.44/151.20 597.44/151.20 [c_18](x1) = [2] x1 + [0] 597.44/151.20 597.44/151.20 [c_19](x1, x2) = [1] x1 + [1] x2 + [0] 597.44/151.20 597.44/151.20 [c_20](x1) = [4] x1 + [0] 597.44/151.20 597.44/151.20 [c_21](x1) = [2] x1 + [0] 597.44/151.20 597.44/151.20 [c_22](x1) = [4] x1 + [0] 597.44/151.20 597.44/151.20 [c_23](x1, x2) = [4] x1 + [4] x2 + [0] 597.44/151.20 597.44/151.20 [c_24](x1) = [4] x1 + [0] 597.44/151.20 597.44/151.20 [c_25](x1) = [4] x1 + [3] 597.44/151.20 597.44/151.20 [c_26](x1, x2) = [4] x1 + [4] x2 + [0] 597.44/151.20 597.44/151.20 [c_27](x1) = [1] x1 + [0] 597.44/151.20 597.44/151.20 [c_28](x1) = [4] x1 + [0] 597.44/151.20 597.44/151.20 The order satisfies the following ordering constraints: 597.44/151.20 597.44/151.20 [__(X1, X2)] = [7] X2 + [7] 597.44/151.20 > [0] 597.44/151.20 = [n____(X1, X2)] 597.44/151.20 597.44/151.20 [nil()] = [1] 597.44/151.20 > [0] 597.44/151.20 = [n__nil()] 597.44/151.20 597.44/151.20 [U11(tt(), V)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U12(isPalListKind(activate(V)), activate(V))] 597.44/151.20 597.44/151.20 [U12(tt(), V)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U13(isNeList(activate(V)))] 597.44/151.20 597.44/151.20 [isPalListKind(n__nil())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [isPalListKind(n____(V1, V2))] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U91(isPalListKind(activate(V1)), activate(V2))] 597.44/151.20 597.44/151.20 [isPalListKind(n__a())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [isPalListKind(n__e())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [isPalListKind(n__i())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [isPalListKind(n__o())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [isPalListKind(n__u())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [activate(X)] = [0] 597.44/151.20 ? [1] X + [0] 597.44/151.20 = [X] 597.44/151.20 597.44/151.20 [activate(n__nil())] = [0] 597.44/151.20 ? [1] 597.44/151.20 = [nil()] 597.44/151.20 597.44/151.20 [activate(n____(X1, X2))] = [0] 597.44/151.20 ? [7] X2 + [7] 597.44/151.20 = [__(X1, X2)] 597.44/151.20 597.44/151.20 [activate(n__a())] = [0] 597.44/151.20 ? [1] 597.44/151.20 = [a()] 597.44/151.20 597.44/151.20 [activate(n__e())] = [0] 597.44/151.20 ? [1] 597.44/151.20 = [e()] 597.44/151.20 597.44/151.20 [activate(n__i())] = [0] 597.44/151.20 ? [7] 597.44/151.20 = [i()] 597.44/151.20 597.44/151.20 [activate(n__o())] = [0] 597.44/151.20 ? [1] 597.44/151.20 = [o()] 597.44/151.20 597.44/151.20 [activate(n__u())] = [0] 597.44/151.20 ? [1] 597.44/151.20 = [u()] 597.44/151.20 597.44/151.20 [U13(tt())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [isNeList(V)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U31(isPalListKind(activate(V)), activate(V))] 597.44/151.20 597.44/151.20 [isNeList(n____(V1, V2))] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U41(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.20 597.44/151.20 [isNeList(n____(V1, V2))] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U51(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.20 597.44/151.20 [U21(tt(), V1, V2)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U22(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.20 597.44/151.20 [U22(tt(), V1, V2)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U23(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.20 597.44/151.20 [U23(tt(), V1, V2)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U24(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.20 597.44/151.20 [U24(tt(), V1, V2)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U25(isList(activate(V1)), activate(V2))] 597.44/151.20 597.44/151.20 [U25(tt(), V2)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U26(isList(activate(V2)))] 597.44/151.20 597.44/151.20 [isList(V)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U11(isPalListKind(activate(V)), activate(V))] 597.44/151.20 597.44/151.20 [isList(n__nil())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [isList(n____(V1, V2))] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U21(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.20 597.44/151.20 [U26(tt())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [U31(tt(), V)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U32(isPalListKind(activate(V)), activate(V))] 597.44/151.20 597.44/151.20 [U32(tt(), V)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U33(isQid(activate(V)))] 597.44/151.20 597.44/151.20 [U33(tt())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [isQid(n__a())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [isQid(n__e())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [isQid(n__i())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [isQid(n__o())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [isQid(n__u())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [U41(tt(), V1, V2)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U42(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.20 597.44/151.20 [U42(tt(), V1, V2)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U43(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.20 597.44/151.20 [U43(tt(), V1, V2)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U44(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.20 597.44/151.20 [U44(tt(), V1, V2)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U45(isList(activate(V1)), activate(V2))] 597.44/151.20 597.44/151.20 [U45(tt(), V2)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U46(isNeList(activate(V2)))] 597.44/151.20 597.44/151.20 [U46(tt())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [U51(tt(), V1, V2)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U52(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.20 597.44/151.20 [U52(tt(), V1, V2)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U53(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.20 597.44/151.20 [U53(tt(), V1, V2)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U54(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.20 597.44/151.20 [U54(tt(), V1, V2)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U55(isNeList(activate(V1)), activate(V2))] 597.44/151.20 597.44/151.20 [U55(tt(), V2)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U56(isList(activate(V2)))] 597.44/151.20 597.44/151.20 [U56(tt())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [U61(tt(), V)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U62(isPalListKind(activate(V)), activate(V))] 597.44/151.20 597.44/151.20 [U62(tt(), V)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U63(isQid(activate(V)))] 597.44/151.20 597.44/151.20 [U63(tt())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [isPal(V)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U81(isPalListKind(activate(V)), activate(V))] 597.44/151.20 597.44/151.20 [isPal(n__nil())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [U81(tt(), V)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U82(isPalListKind(activate(V)), activate(V))] 597.44/151.20 597.44/151.20 [U82(tt(), V)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U83(isNePal(activate(V)))] 597.44/151.20 597.44/151.20 [U83(tt())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [isNePal(V)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U61(isPalListKind(activate(V)), activate(V))] 597.44/151.20 597.44/151.20 [U91(tt(), V2)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [U92(isPalListKind(activate(V2)))] 597.44/151.20 597.44/151.20 [U92(tt())] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [tt()] 597.44/151.20 597.44/151.20 [a()] = [1] 597.44/151.20 > [0] 597.44/151.20 = [n__a()] 597.44/151.20 597.44/151.20 [e()] = [1] 597.44/151.20 > [0] 597.44/151.20 = [n__e()] 597.44/151.20 597.44/151.20 [i()] = [7] 597.44/151.20 > [0] 597.44/151.20 = [n__i()] 597.44/151.20 597.44/151.20 [o()] = [1] 597.44/151.20 > [0] 597.44/151.20 = [n__o()] 597.44/151.20 597.44/151.20 [u()] = [1] 597.44/151.20 > [0] 597.44/151.20 = [n__u()] 597.44/151.20 597.44/151.20 [U11^#(tt(), V)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [c_1(U12^#(isPalListKind(activate(V)), activate(V)))] 597.44/151.20 597.44/151.20 [U12^#(tt(), V)] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [c_2(isNeList^#(activate(V)))] 597.44/151.20 597.44/151.20 [isNeList^#(n____(V1, V2))] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [c_3(U51^#(isPalListKind(activate(V1)), 597.44/151.20 activate(V1), 597.44/151.20 activate(V2)))] 597.44/151.20 597.44/151.20 [isNeList^#(n____(V1, V2))] = [0] 597.44/151.20 >= [0] 597.44/151.20 = [c_14(U41^#(isPalListKind(activate(V1)), 597.44/151.20 activate(V1), 597.44/151.20 activate(V2)))] 597.44/151.20 597.44/151.20 [U41^#(tt(), V1, V2)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_15(U42^#(isPalListKind(activate(V1)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2)))] 597.44/151.21 597.44/151.21 [U51^#(tt(), V1, V2)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_4(U52^#(isPalListKind(activate(V1)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2)))] 597.44/151.21 597.44/151.21 [U21^#(tt(), V1, V2)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_16(U22^#(isPalListKind(activate(V1)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2)))] 597.44/151.21 597.44/151.21 [U22^#(tt(), V1, V2)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_17(U23^#(isPalListKind(activate(V2)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2)))] 597.44/151.21 597.44/151.21 [U23^#(tt(), V1, V2)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_18(U24^#(isPalListKind(activate(V2)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2)))] 597.44/151.21 597.44/151.21 [U24^#(tt(), V1, V2)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_19(U25^#(isList(activate(V1)), activate(V2)), 597.44/151.21 isList^#(activate(V1)))] 597.44/151.21 597.44/151.21 [U25^#(tt(), V2)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_20(isList^#(activate(V2)))] 597.44/151.21 597.44/151.21 [isList^#(V)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_5(U11^#(isPalListKind(activate(V)), activate(V)))] 597.44/151.21 597.44/151.21 [isList^#(n____(V1, V2))] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_6(U21^#(isPalListKind(activate(V1)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2)))] 597.44/151.21 597.44/151.21 [U42^#(tt(), V1, V2)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_21(U43^#(isPalListKind(activate(V2)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2)))] 597.44/151.21 597.44/151.21 [U43^#(tt(), V1, V2)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_22(U44^#(isPalListKind(activate(V2)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2)))] 597.44/151.21 597.44/151.21 [U44^#(tt(), V1, V2)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_23(U45^#(isList(activate(V1)), activate(V2)), 597.44/151.21 isList^#(activate(V1)))] 597.44/151.21 597.44/151.21 [U45^#(tt(), V2)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_7(isNeList^#(activate(V2)))] 597.44/151.21 597.44/151.21 [U52^#(tt(), V1, V2)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_8(U53^#(isPalListKind(activate(V2)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2)))] 597.44/151.21 597.44/151.21 [U53^#(tt(), V1, V2)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_9(U54^#(isPalListKind(activate(V2)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2)))] 597.44/151.21 597.44/151.21 [U54^#(tt(), V1, V2)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_10(U55^#(isNeList(activate(V1)), activate(V2)), 597.44/151.21 isNeList^#(activate(V1)))] 597.44/151.21 597.44/151.21 [U55^#(tt(), V2)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_24(isList^#(activate(V2)))] 597.44/151.21 597.44/151.21 [U71^#(tt(), I, P)] = [7] I + [7] P + [7] 597.44/151.21 > [3] 597.44/151.21 = [c_25(U72^#(isPalListKind(activate(I)), activate(P)))] 597.44/151.21 597.44/151.21 [U72^#(tt(), P)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_26(U73^#(isPal(activate(P)), activate(P)), 597.44/151.21 isPal^#(activate(P)))] 597.44/151.21 597.44/151.21 [U73^#(tt(), P)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_11()] 597.44/151.21 597.44/151.21 [isPal^#(V)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_12(U81^#(isPalListKind(activate(V)), activate(V)))] 597.44/151.21 597.44/151.21 [U81^#(tt(), V)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_27(U82^#(isPalListKind(activate(V)), activate(V)))] 597.44/151.21 597.44/151.21 [U82^#(tt(), V)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_28(isNePal^#(activate(V)))] 597.44/151.21 597.44/151.21 [isNePal^#(V)] = [0] 597.44/151.21 >= [0] 597.44/151.21 = [c_13()] 597.44/151.21 597.44/151.21 597.44/151.21 We return to the main proof. Consider the set of all dependency 597.44/151.21 pairs 597.44/151.21 597.44/151.21 : 597.44/151.21 { 1: U11^#(tt(), V) -> 597.44/151.21 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.44/151.21 , 2: U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.44/151.21 , 3: isNeList^#(n____(V1, V2)) -> 597.44/151.21 c_3(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.21 , 4: U51^#(tt(), V1, V2) -> 597.44/151.21 c_4(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.21 , 5: isList^#(V) -> 597.44/151.21 c_5(U11^#(isPalListKind(activate(V)), activate(V))) 597.44/151.21 , 6: isList^#(n____(V1, V2)) -> 597.44/151.21 c_6(U21^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.21 , 7: U45^#(tt(), V2) -> c_7(isNeList^#(activate(V2))) 597.44/151.21 , 8: U52^#(tt(), V1, V2) -> 597.44/151.21 c_8(U53^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.44/151.21 , 9: U53^#(tt(), V1, V2) -> 597.44/151.21 c_9(U54^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.44/151.21 , 10: U54^#(tt(), V1, V2) -> 597.44/151.21 c_10(U55^#(isNeList(activate(V1)), activate(V2)), 597.44/151.21 isNeList^#(activate(V1))) 597.44/151.21 , 11: U73^#(tt(), P) -> c_11() 597.44/151.21 , 12: isPal^#(V) -> 597.44/151.21 c_12(U81^#(isPalListKind(activate(V)), activate(V))) 597.44/151.21 , 13: isNePal^#(V) -> c_13() 597.44/151.21 , 14: isNeList^#(n____(V1, V2)) -> 597.44/151.21 c_14(U41^#(isPalListKind(activate(V1)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2))) 597.44/151.21 , 15: U41^#(tt(), V1, V2) -> 597.44/151.21 c_15(U42^#(isPalListKind(activate(V1)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2))) 597.44/151.21 , 16: U21^#(tt(), V1, V2) -> 597.44/151.21 c_16(U22^#(isPalListKind(activate(V1)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2))) 597.44/151.21 , 17: U22^#(tt(), V1, V2) -> 597.44/151.21 c_17(U23^#(isPalListKind(activate(V2)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2))) 597.44/151.21 , 18: U23^#(tt(), V1, V2) -> 597.44/151.21 c_18(U24^#(isPalListKind(activate(V2)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2))) 597.44/151.21 , 19: U24^#(tt(), V1, V2) -> 597.44/151.21 c_19(U25^#(isList(activate(V1)), activate(V2)), 597.44/151.21 isList^#(activate(V1))) 597.44/151.21 , 20: U25^#(tt(), V2) -> c_20(isList^#(activate(V2))) 597.44/151.21 , 21: U42^#(tt(), V1, V2) -> 597.44/151.21 c_21(U43^#(isPalListKind(activate(V2)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2))) 597.44/151.21 , 22: U43^#(tt(), V1, V2) -> 597.44/151.21 c_22(U44^#(isPalListKind(activate(V2)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2))) 597.44/151.21 , 23: U44^#(tt(), V1, V2) -> 597.44/151.21 c_23(U45^#(isList(activate(V1)), activate(V2)), 597.44/151.21 isList^#(activate(V1))) 597.44/151.21 , 24: U55^#(tt(), V2) -> c_24(isList^#(activate(V2))) 597.44/151.21 , 25: U71^#(tt(), I, P) -> 597.44/151.21 c_25(U72^#(isPalListKind(activate(I)), activate(P))) 597.44/151.21 , 26: U72^#(tt(), P) -> 597.44/151.21 c_26(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.44/151.21 , 27: U81^#(tt(), V) -> 597.44/151.21 c_27(U82^#(isPalListKind(activate(V)), activate(V))) 597.44/151.21 , 28: U82^#(tt(), V) -> c_28(isNePal^#(activate(V))) } 597.44/151.21 597.44/151.21 Processor 'matrix interpretation of dimension 1' induces the 597.44/151.21 complexity certificate YES(?,O(1)) on application of dependency 597.44/151.21 pairs {25}. These cover all (indirect) predecessors of dependency 597.44/151.21 pairs {11,12,13,25,26,27,28}, their number of application is 597.44/151.21 equally bounded. The dependency pairs are shifted into the weak 597.44/151.21 component. 597.44/151.21 597.44/151.21 We are left with following problem, upon which TcT provides the 597.44/151.21 certificate YES(O(1),O(n^1)). 597.44/151.21 597.44/151.21 Strict DPs: 597.44/151.21 { U11^#(tt(), V) -> 597.44/151.21 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.44/151.21 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.44/151.21 , isNeList^#(n____(V1, V2)) -> 597.44/151.21 c_3(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.21 , U51^#(tt(), V1, V2) -> 597.44/151.21 c_4(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.21 , isList^#(V) -> 597.44/151.21 c_5(U11^#(isPalListKind(activate(V)), activate(V))) 597.44/151.21 , isList^#(n____(V1, V2)) -> 597.44/151.21 c_6(U21^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.21 , U45^#(tt(), V2) -> c_7(isNeList^#(activate(V2))) 597.44/151.21 , U52^#(tt(), V1, V2) -> 597.44/151.21 c_8(U53^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.44/151.21 , U53^#(tt(), V1, V2) -> 597.44/151.21 c_9(U54^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.44/151.21 , U54^#(tt(), V1, V2) -> 597.44/151.21 c_10(U55^#(isNeList(activate(V1)), activate(V2)), 597.44/151.21 isNeList^#(activate(V1))) } 597.44/151.21 Weak DPs: 597.44/151.21 { isNeList^#(n____(V1, V2)) -> 597.44/151.21 c_14(U41^#(isPalListKind(activate(V1)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2))) 597.44/151.21 , U41^#(tt(), V1, V2) -> 597.44/151.21 c_15(U42^#(isPalListKind(activate(V1)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2))) 597.44/151.21 , U21^#(tt(), V1, V2) -> 597.44/151.21 c_16(U22^#(isPalListKind(activate(V1)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2))) 597.44/151.21 , U22^#(tt(), V1, V2) -> 597.44/151.21 c_17(U23^#(isPalListKind(activate(V2)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2))) 597.44/151.21 , U23^#(tt(), V1, V2) -> 597.44/151.21 c_18(U24^#(isPalListKind(activate(V2)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2))) 597.44/151.21 , U24^#(tt(), V1, V2) -> 597.44/151.21 c_19(U25^#(isList(activate(V1)), activate(V2)), 597.44/151.21 isList^#(activate(V1))) 597.44/151.21 , U25^#(tt(), V2) -> c_20(isList^#(activate(V2))) 597.44/151.21 , U42^#(tt(), V1, V2) -> 597.44/151.21 c_21(U43^#(isPalListKind(activate(V2)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2))) 597.44/151.21 , U43^#(tt(), V1, V2) -> 597.44/151.21 c_22(U44^#(isPalListKind(activate(V2)), 597.44/151.21 activate(V1), 597.44/151.21 activate(V2))) 597.44/151.21 , U44^#(tt(), V1, V2) -> 597.44/151.21 c_23(U45^#(isList(activate(V1)), activate(V2)), 597.44/151.21 isList^#(activate(V1))) 597.44/151.21 , U55^#(tt(), V2) -> c_24(isList^#(activate(V2))) 597.44/151.21 , U71^#(tt(), I, P) -> 597.44/151.21 c_25(U72^#(isPalListKind(activate(I)), activate(P))) 597.44/151.21 , U72^#(tt(), P) -> 597.44/151.21 c_26(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.44/151.21 , U73^#(tt(), P) -> c_11() 597.44/151.21 , isPal^#(V) -> 597.44/151.21 c_12(U81^#(isPalListKind(activate(V)), activate(V))) 597.44/151.21 , U81^#(tt(), V) -> 597.44/151.21 c_27(U82^#(isPalListKind(activate(V)), activate(V))) 597.44/151.21 , U82^#(tt(), V) -> c_28(isNePal^#(activate(V))) 597.44/151.21 , isNePal^#(V) -> c_13() } 597.44/151.21 Weak Trs: 597.44/151.21 { __(X1, X2) -> n____(X1, X2) 597.44/151.21 , nil() -> n__nil() 597.44/151.21 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.44/151.21 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.44/151.21 , isPalListKind(n__nil()) -> tt() 597.44/151.21 , isPalListKind(n____(V1, V2)) -> 597.44/151.21 U91(isPalListKind(activate(V1)), activate(V2)) 597.44/151.21 , isPalListKind(n__a()) -> tt() 597.44/151.21 , isPalListKind(n__e()) -> tt() 597.44/151.21 , isPalListKind(n__i()) -> tt() 597.44/151.21 , isPalListKind(n__o()) -> tt() 597.44/151.21 , isPalListKind(n__u()) -> tt() 597.44/151.21 , activate(X) -> X 597.44/151.21 , activate(n__nil()) -> nil() 597.44/151.21 , activate(n____(X1, X2)) -> __(X1, X2) 597.44/151.21 , activate(n__a()) -> a() 597.44/151.21 , activate(n__e()) -> e() 597.44/151.21 , activate(n__i()) -> i() 597.44/151.21 , activate(n__o()) -> o() 597.44/151.21 , activate(n__u()) -> u() 597.44/151.21 , U13(tt()) -> tt() 597.44/151.21 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.44/151.21 , isNeList(n____(V1, V2)) -> 597.44/151.21 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.21 , isNeList(n____(V1, V2)) -> 597.44/151.21 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.21 , U21(tt(), V1, V2) -> 597.44/151.21 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.21 , U22(tt(), V1, V2) -> 597.44/151.21 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.21 , U23(tt(), V1, V2) -> 597.44/151.21 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.21 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.44/151.21 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.44/151.21 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.44/151.21 , isList(n__nil()) -> tt() 597.44/151.21 , isList(n____(V1, V2)) -> 597.44/151.21 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.21 , U26(tt()) -> tt() 597.44/151.21 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.44/151.21 , U32(tt(), V) -> U33(isQid(activate(V))) 597.44/151.21 , U33(tt()) -> tt() 597.44/151.21 , isQid(n__a()) -> tt() 597.44/151.21 , isQid(n__e()) -> tt() 597.44/151.21 , isQid(n__i()) -> tt() 597.44/151.21 , isQid(n__o()) -> tt() 597.44/151.21 , isQid(n__u()) -> tt() 597.44/151.21 , U41(tt(), V1, V2) -> 597.44/151.21 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.21 , U42(tt(), V1, V2) -> 597.44/151.21 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.21 , U43(tt(), V1, V2) -> 597.44/151.21 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.21 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.44/151.21 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.44/151.21 , U46(tt()) -> tt() 597.44/151.21 , U51(tt(), V1, V2) -> 597.44/151.21 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.21 , U52(tt(), V1, V2) -> 597.44/151.21 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.21 , U53(tt(), V1, V2) -> 597.44/151.21 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.21 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.44/151.21 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.44/151.21 , U56(tt()) -> tt() 597.44/151.21 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.44/151.21 , U62(tt(), V) -> U63(isQid(activate(V))) 597.44/151.21 , U63(tt()) -> tt() 597.44/151.21 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.44/151.21 , isPal(n__nil()) -> tt() 597.44/151.21 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.44/151.21 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.44/151.21 , U83(tt()) -> tt() 597.44/151.21 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.44/151.21 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.44/151.21 , U92(tt()) -> tt() 597.44/151.21 , a() -> n__a() 597.44/151.21 , e() -> n__e() 597.44/151.21 , i() -> n__i() 597.44/151.21 , o() -> n__o() 597.44/151.21 , u() -> n__u() } 597.44/151.21 Obligation: 597.44/151.21 innermost runtime complexity 597.44/151.21 Answer: 597.44/151.21 YES(O(1),O(n^1)) 597.44/151.21 597.44/151.21 The following weak DPs constitute a sub-graph of the DG that is 597.44/151.21 closed under successors. The DPs are removed. 597.44/151.21 597.44/151.21 { U71^#(tt(), I, P) -> 597.44/151.22 c_25(U72^#(isPalListKind(activate(I)), activate(P))) 597.44/151.22 , U72^#(tt(), P) -> 597.44/151.22 c_26(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.44/151.22 , U73^#(tt(), P) -> c_11() 597.44/151.22 , isPal^#(V) -> 597.44/151.22 c_12(U81^#(isPalListKind(activate(V)), activate(V))) 597.44/151.22 , U81^#(tt(), V) -> 597.44/151.22 c_27(U82^#(isPalListKind(activate(V)), activate(V))) 597.44/151.22 , U82^#(tt(), V) -> c_28(isNePal^#(activate(V))) 597.44/151.22 , isNePal^#(V) -> c_13() } 597.44/151.22 597.44/151.22 We are left with following problem, upon which TcT provides the 597.44/151.22 certificate YES(O(1),O(n^1)). 597.44/151.22 597.44/151.22 Strict DPs: 597.44/151.22 { U11^#(tt(), V) -> 597.44/151.22 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.44/151.22 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.44/151.22 , isNeList^#(n____(V1, V2)) -> 597.44/151.22 c_3(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.22 , U51^#(tt(), V1, V2) -> 597.44/151.22 c_4(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.22 , isList^#(V) -> 597.44/151.22 c_5(U11^#(isPalListKind(activate(V)), activate(V))) 597.44/151.22 , isList^#(n____(V1, V2)) -> 597.44/151.22 c_6(U21^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.22 , U45^#(tt(), V2) -> c_7(isNeList^#(activate(V2))) 597.44/151.22 , U52^#(tt(), V1, V2) -> 597.44/151.22 c_8(U53^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.44/151.22 , U53^#(tt(), V1, V2) -> 597.44/151.22 c_9(U54^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.44/151.22 , U54^#(tt(), V1, V2) -> 597.44/151.22 c_10(U55^#(isNeList(activate(V1)), activate(V2)), 597.44/151.22 isNeList^#(activate(V1))) } 597.44/151.22 Weak DPs: 597.44/151.22 { isNeList^#(n____(V1, V2)) -> 597.44/151.22 c_14(U41^#(isPalListKind(activate(V1)), 597.44/151.22 activate(V1), 597.44/151.22 activate(V2))) 597.44/151.22 , U41^#(tt(), V1, V2) -> 597.44/151.22 c_15(U42^#(isPalListKind(activate(V1)), 597.44/151.22 activate(V1), 597.44/151.22 activate(V2))) 597.44/151.22 , U21^#(tt(), V1, V2) -> 597.44/151.22 c_16(U22^#(isPalListKind(activate(V1)), 597.44/151.22 activate(V1), 597.44/151.22 activate(V2))) 597.44/151.22 , U22^#(tt(), V1, V2) -> 597.44/151.22 c_17(U23^#(isPalListKind(activate(V2)), 597.44/151.22 activate(V1), 597.44/151.22 activate(V2))) 597.44/151.22 , U23^#(tt(), V1, V2) -> 597.44/151.22 c_18(U24^#(isPalListKind(activate(V2)), 597.44/151.22 activate(V1), 597.44/151.22 activate(V2))) 597.44/151.22 , U24^#(tt(), V1, V2) -> 597.44/151.22 c_19(U25^#(isList(activate(V1)), activate(V2)), 597.44/151.22 isList^#(activate(V1))) 597.44/151.22 , U25^#(tt(), V2) -> c_20(isList^#(activate(V2))) 597.44/151.22 , U42^#(tt(), V1, V2) -> 597.44/151.22 c_21(U43^#(isPalListKind(activate(V2)), 597.44/151.22 activate(V1), 597.44/151.22 activate(V2))) 597.44/151.22 , U43^#(tt(), V1, V2) -> 597.44/151.22 c_22(U44^#(isPalListKind(activate(V2)), 597.44/151.22 activate(V1), 597.44/151.22 activate(V2))) 597.44/151.22 , U44^#(tt(), V1, V2) -> 597.44/151.22 c_23(U45^#(isList(activate(V1)), activate(V2)), 597.44/151.22 isList^#(activate(V1))) 597.44/151.22 , U55^#(tt(), V2) -> c_24(isList^#(activate(V2))) } 597.44/151.22 Weak Trs: 597.44/151.22 { __(X1, X2) -> n____(X1, X2) 597.44/151.22 , nil() -> n__nil() 597.44/151.22 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.44/151.22 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.44/151.22 , isPalListKind(n__nil()) -> tt() 597.44/151.22 , isPalListKind(n____(V1, V2)) -> 597.44/151.22 U91(isPalListKind(activate(V1)), activate(V2)) 597.44/151.22 , isPalListKind(n__a()) -> tt() 597.44/151.22 , isPalListKind(n__e()) -> tt() 597.44/151.22 , isPalListKind(n__i()) -> tt() 597.44/151.22 , isPalListKind(n__o()) -> tt() 597.44/151.22 , isPalListKind(n__u()) -> tt() 597.44/151.22 , activate(X) -> X 597.44/151.22 , activate(n__nil()) -> nil() 597.44/151.22 , activate(n____(X1, X2)) -> __(X1, X2) 597.44/151.22 , activate(n__a()) -> a() 597.44/151.22 , activate(n__e()) -> e() 597.44/151.22 , activate(n__i()) -> i() 597.44/151.22 , activate(n__o()) -> o() 597.44/151.22 , activate(n__u()) -> u() 597.44/151.22 , U13(tt()) -> tt() 597.44/151.22 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.44/151.22 , isNeList(n____(V1, V2)) -> 597.44/151.22 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , isNeList(n____(V1, V2)) -> 597.44/151.22 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , U21(tt(), V1, V2) -> 597.44/151.22 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , U22(tt(), V1, V2) -> 597.44/151.22 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U23(tt(), V1, V2) -> 597.44/151.22 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.44/151.22 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.44/151.22 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.44/151.22 , isList(n__nil()) -> tt() 597.44/151.22 , isList(n____(V1, V2)) -> 597.44/151.22 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , U26(tt()) -> tt() 597.44/151.22 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.44/151.22 , U32(tt(), V) -> U33(isQid(activate(V))) 597.44/151.22 , U33(tt()) -> tt() 597.44/151.22 , isQid(n__a()) -> tt() 597.44/151.22 , isQid(n__e()) -> tt() 597.44/151.22 , isQid(n__i()) -> tt() 597.44/151.22 , isQid(n__o()) -> tt() 597.44/151.22 , isQid(n__u()) -> tt() 597.44/151.22 , U41(tt(), V1, V2) -> 597.44/151.22 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , U42(tt(), V1, V2) -> 597.44/151.22 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U43(tt(), V1, V2) -> 597.44/151.22 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.44/151.22 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.44/151.22 , U46(tt()) -> tt() 597.44/151.22 , U51(tt(), V1, V2) -> 597.44/151.22 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , U52(tt(), V1, V2) -> 597.44/151.22 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U53(tt(), V1, V2) -> 597.44/151.22 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.44/151.22 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.44/151.22 , U56(tt()) -> tt() 597.44/151.22 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.44/151.22 , U62(tt(), V) -> U63(isQid(activate(V))) 597.44/151.22 , U63(tt()) -> tt() 597.44/151.22 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.44/151.22 , isPal(n__nil()) -> tt() 597.44/151.22 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.44/151.22 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.44/151.22 , U83(tt()) -> tt() 597.44/151.22 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.44/151.22 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.44/151.22 , U92(tt()) -> tt() 597.44/151.22 , a() -> n__a() 597.44/151.22 , e() -> n__e() 597.44/151.22 , i() -> n__i() 597.44/151.22 , o() -> n__o() 597.44/151.22 , u() -> n__u() } 597.44/151.22 Obligation: 597.44/151.22 innermost runtime complexity 597.44/151.22 Answer: 597.44/151.22 YES(O(1),O(n^1)) 597.44/151.22 597.44/151.22 We replace rewrite rules by usable rules: 597.44/151.22 597.44/151.22 Weak Usable Rules: 597.44/151.22 { __(X1, X2) -> n____(X1, X2) 597.44/151.22 , nil() -> n__nil() 597.44/151.22 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.44/151.22 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.44/151.22 , isPalListKind(n__nil()) -> tt() 597.44/151.22 , isPalListKind(n____(V1, V2)) -> 597.44/151.22 U91(isPalListKind(activate(V1)), activate(V2)) 597.44/151.22 , isPalListKind(n__a()) -> tt() 597.44/151.22 , isPalListKind(n__e()) -> tt() 597.44/151.22 , isPalListKind(n__i()) -> tt() 597.44/151.22 , isPalListKind(n__o()) -> tt() 597.44/151.22 , isPalListKind(n__u()) -> tt() 597.44/151.22 , activate(X) -> X 597.44/151.22 , activate(n__nil()) -> nil() 597.44/151.22 , activate(n____(X1, X2)) -> __(X1, X2) 597.44/151.22 , activate(n__a()) -> a() 597.44/151.22 , activate(n__e()) -> e() 597.44/151.22 , activate(n__i()) -> i() 597.44/151.22 , activate(n__o()) -> o() 597.44/151.22 , activate(n__u()) -> u() 597.44/151.22 , U13(tt()) -> tt() 597.44/151.22 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.44/151.22 , isNeList(n____(V1, V2)) -> 597.44/151.22 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , isNeList(n____(V1, V2)) -> 597.44/151.22 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , U21(tt(), V1, V2) -> 597.44/151.22 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , U22(tt(), V1, V2) -> 597.44/151.22 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U23(tt(), V1, V2) -> 597.44/151.22 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.44/151.22 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.44/151.22 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.44/151.22 , isList(n__nil()) -> tt() 597.44/151.22 , isList(n____(V1, V2)) -> 597.44/151.22 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , U26(tt()) -> tt() 597.44/151.22 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.44/151.22 , U32(tt(), V) -> U33(isQid(activate(V))) 597.44/151.22 , U33(tt()) -> tt() 597.44/151.22 , isQid(n__a()) -> tt() 597.44/151.22 , isQid(n__e()) -> tt() 597.44/151.22 , isQid(n__i()) -> tt() 597.44/151.22 , isQid(n__o()) -> tt() 597.44/151.22 , isQid(n__u()) -> tt() 597.44/151.22 , U41(tt(), V1, V2) -> 597.44/151.22 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , U42(tt(), V1, V2) -> 597.44/151.22 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U43(tt(), V1, V2) -> 597.44/151.22 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.44/151.22 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.44/151.22 , U46(tt()) -> tt() 597.44/151.22 , U51(tt(), V1, V2) -> 597.44/151.22 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , U52(tt(), V1, V2) -> 597.44/151.22 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U53(tt(), V1, V2) -> 597.44/151.22 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.44/151.22 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.44/151.22 , U56(tt()) -> tt() 597.44/151.22 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.44/151.22 , U92(tt()) -> tt() 597.44/151.22 , a() -> n__a() 597.44/151.22 , e() -> n__e() 597.44/151.22 , i() -> n__i() 597.44/151.22 , o() -> n__o() 597.44/151.22 , u() -> n__u() } 597.44/151.22 597.44/151.22 We are left with following problem, upon which TcT provides the 597.44/151.22 certificate YES(O(1),O(n^1)). 597.44/151.22 597.44/151.22 Strict DPs: 597.44/151.22 { U11^#(tt(), V) -> 597.44/151.22 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.44/151.22 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.44/151.22 , isNeList^#(n____(V1, V2)) -> 597.44/151.22 c_3(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.22 , U51^#(tt(), V1, V2) -> 597.44/151.22 c_4(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.22 , isList^#(V) -> 597.44/151.22 c_5(U11^#(isPalListKind(activate(V)), activate(V))) 597.44/151.22 , isList^#(n____(V1, V2)) -> 597.44/151.22 c_6(U21^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.22 , U45^#(tt(), V2) -> c_7(isNeList^#(activate(V2))) 597.44/151.22 , U52^#(tt(), V1, V2) -> 597.44/151.22 c_8(U53^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.44/151.22 , U53^#(tt(), V1, V2) -> 597.44/151.22 c_9(U54^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.44/151.22 , U54^#(tt(), V1, V2) -> 597.44/151.22 c_10(U55^#(isNeList(activate(V1)), activate(V2)), 597.44/151.22 isNeList^#(activate(V1))) } 597.44/151.22 Weak DPs: 597.44/151.22 { isNeList^#(n____(V1, V2)) -> 597.44/151.22 c_14(U41^#(isPalListKind(activate(V1)), 597.44/151.22 activate(V1), 597.44/151.22 activate(V2))) 597.44/151.22 , U41^#(tt(), V1, V2) -> 597.44/151.22 c_15(U42^#(isPalListKind(activate(V1)), 597.44/151.22 activate(V1), 597.44/151.22 activate(V2))) 597.44/151.22 , U21^#(tt(), V1, V2) -> 597.44/151.22 c_16(U22^#(isPalListKind(activate(V1)), 597.44/151.22 activate(V1), 597.44/151.22 activate(V2))) 597.44/151.22 , U22^#(tt(), V1, V2) -> 597.44/151.22 c_17(U23^#(isPalListKind(activate(V2)), 597.44/151.22 activate(V1), 597.44/151.22 activate(V2))) 597.44/151.22 , U23^#(tt(), V1, V2) -> 597.44/151.22 c_18(U24^#(isPalListKind(activate(V2)), 597.44/151.22 activate(V1), 597.44/151.22 activate(V2))) 597.44/151.22 , U24^#(tt(), V1, V2) -> 597.44/151.22 c_19(U25^#(isList(activate(V1)), activate(V2)), 597.44/151.22 isList^#(activate(V1))) 597.44/151.22 , U25^#(tt(), V2) -> c_20(isList^#(activate(V2))) 597.44/151.22 , U42^#(tt(), V1, V2) -> 597.44/151.22 c_21(U43^#(isPalListKind(activate(V2)), 597.44/151.22 activate(V1), 597.44/151.22 activate(V2))) 597.44/151.22 , U43^#(tt(), V1, V2) -> 597.44/151.22 c_22(U44^#(isPalListKind(activate(V2)), 597.44/151.22 activate(V1), 597.44/151.22 activate(V2))) 597.44/151.22 , U44^#(tt(), V1, V2) -> 597.44/151.22 c_23(U45^#(isList(activate(V1)), activate(V2)), 597.44/151.22 isList^#(activate(V1))) 597.44/151.22 , U55^#(tt(), V2) -> c_24(isList^#(activate(V2))) } 597.44/151.22 Weak Trs: 597.44/151.22 { __(X1, X2) -> n____(X1, X2) 597.44/151.22 , nil() -> n__nil() 597.44/151.22 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.44/151.22 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.44/151.22 , isPalListKind(n__nil()) -> tt() 597.44/151.22 , isPalListKind(n____(V1, V2)) -> 597.44/151.22 U91(isPalListKind(activate(V1)), activate(V2)) 597.44/151.22 , isPalListKind(n__a()) -> tt() 597.44/151.22 , isPalListKind(n__e()) -> tt() 597.44/151.22 , isPalListKind(n__i()) -> tt() 597.44/151.22 , isPalListKind(n__o()) -> tt() 597.44/151.22 , isPalListKind(n__u()) -> tt() 597.44/151.22 , activate(X) -> X 597.44/151.22 , activate(n__nil()) -> nil() 597.44/151.22 , activate(n____(X1, X2)) -> __(X1, X2) 597.44/151.22 , activate(n__a()) -> a() 597.44/151.22 , activate(n__e()) -> e() 597.44/151.22 , activate(n__i()) -> i() 597.44/151.22 , activate(n__o()) -> o() 597.44/151.22 , activate(n__u()) -> u() 597.44/151.22 , U13(tt()) -> tt() 597.44/151.22 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.44/151.22 , isNeList(n____(V1, V2)) -> 597.44/151.22 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , isNeList(n____(V1, V2)) -> 597.44/151.22 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , U21(tt(), V1, V2) -> 597.44/151.22 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , U22(tt(), V1, V2) -> 597.44/151.22 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U23(tt(), V1, V2) -> 597.44/151.22 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.44/151.22 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.44/151.22 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.44/151.22 , isList(n__nil()) -> tt() 597.44/151.22 , isList(n____(V1, V2)) -> 597.44/151.22 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , U26(tt()) -> tt() 597.44/151.22 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.44/151.22 , U32(tt(), V) -> U33(isQid(activate(V))) 597.44/151.22 , U33(tt()) -> tt() 597.44/151.22 , isQid(n__a()) -> tt() 597.44/151.22 , isQid(n__e()) -> tt() 597.44/151.22 , isQid(n__i()) -> tt() 597.44/151.22 , isQid(n__o()) -> tt() 597.44/151.22 , isQid(n__u()) -> tt() 597.44/151.22 , U41(tt(), V1, V2) -> 597.44/151.22 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , U42(tt(), V1, V2) -> 597.44/151.22 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U43(tt(), V1, V2) -> 597.44/151.22 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.44/151.22 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.44/151.22 , U46(tt()) -> tt() 597.44/151.22 , U51(tt(), V1, V2) -> 597.44/151.22 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.22 , U52(tt(), V1, V2) -> 597.44/151.22 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U53(tt(), V1, V2) -> 597.44/151.22 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.22 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.44/151.22 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.44/151.22 , U56(tt()) -> tt() 597.44/151.22 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.44/151.22 , U92(tt()) -> tt() 597.44/151.22 , a() -> n__a() 597.44/151.22 , e() -> n__e() 597.44/151.22 , i() -> n__i() 597.44/151.22 , o() -> n__o() 597.44/151.22 , u() -> n__u() } 597.44/151.22 Obligation: 597.44/151.22 innermost runtime complexity 597.44/151.22 Answer: 597.44/151.22 YES(O(1),O(n^1)) 597.44/151.22 597.44/151.22 We use the processor 'matrix interpretation of dimension 1' to 597.44/151.22 orient following rules strictly. 597.44/151.22 597.44/151.22 DPs: 597.44/151.22 { 3: isNeList^#(n____(V1, V2)) -> 597.44/151.22 c_3(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.22 , 6: isList^#(n____(V1, V2)) -> 597.44/151.22 c_6(U21^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.22 , 11: isNeList^#(n____(V1, V2)) -> 597.44/151.22 c_14(U41^#(isPalListKind(activate(V1)), 597.44/151.22 activate(V1), 597.44/151.22 activate(V2))) } 597.44/151.22 597.44/151.22 Sub-proof: 597.44/151.22 ---------- 597.44/151.22 The following argument positions are usable: 597.44/151.22 Uargs(c_1) = {1}, Uargs(c_2) = {1}, Uargs(c_3) = {1}, 597.44/151.22 Uargs(c_4) = {1}, Uargs(c_5) = {1}, Uargs(c_6) = {1}, 597.44/151.22 Uargs(c_7) = {1}, Uargs(c_8) = {1}, Uargs(c_9) = {1}, 597.44/151.22 Uargs(c_10) = {1, 2}, Uargs(c_14) = {1}, Uargs(c_15) = {1}, 597.44/151.22 Uargs(c_16) = {1}, Uargs(c_17) = {1}, Uargs(c_18) = {1}, 597.44/151.22 Uargs(c_19) = {1, 2}, Uargs(c_20) = {1}, Uargs(c_21) = {1}, 597.44/151.22 Uargs(c_22) = {1}, Uargs(c_23) = {1, 2}, Uargs(c_24) = {1} 597.44/151.22 597.44/151.22 TcT has computed the following constructor-based matrix 597.44/151.22 interpretation satisfying not(EDA). 597.44/151.22 597.44/151.22 [__](x1, x2) = [1] x1 + [1] x2 + [2] 597.44/151.22 597.44/151.22 [nil] = [0] 597.44/151.22 597.44/151.22 [U11](x1, x2) = [0] 597.44/151.22 597.44/151.22 [tt] = [0] 597.44/151.22 597.44/151.22 [U12](x1, x2) = [0] 597.44/151.22 597.44/151.22 [isPalListKind](x1) = [0] 597.44/151.22 597.44/151.22 [activate](x1) = [1] x1 + [0] 597.44/151.22 597.44/151.22 [U13](x1) = [0] 597.44/151.22 597.44/151.22 [isNeList](x1) = [0] 597.44/151.22 597.44/151.22 [U21](x1, x2, x3) = [0] 597.44/151.22 597.44/151.22 [U22](x1, x2, x3) = [0] 597.44/151.22 597.44/151.22 [U23](x1, x2, x3) = [0] 597.44/151.22 597.44/151.22 [U24](x1, x2, x3) = [0] 597.44/151.22 597.44/151.22 [U25](x1, x2) = [0] 597.44/151.22 597.44/151.22 [isList](x1) = [0] 597.44/151.22 597.44/151.22 [U26](x1) = [0] 597.44/151.22 597.44/151.22 [U31](x1, x2) = [0] 597.44/151.22 597.44/151.22 [U32](x1, x2) = [0] 597.44/151.22 597.44/151.22 [U33](x1) = [0] 597.44/151.22 597.44/151.22 [isQid](x1) = [0] 597.44/151.22 597.44/151.22 [U41](x1, x2, x3) = [0] 597.44/151.22 597.44/151.22 [U42](x1, x2, x3) = [0] 597.44/151.22 597.44/151.22 [U43](x1, x2, x3) = [0] 597.44/151.22 597.44/151.22 [U44](x1, x2, x3) = [0] 597.44/151.22 597.44/151.22 [U45](x1, x2) = [0] 597.44/151.22 597.44/151.22 [U46](x1) = [0] 597.44/151.22 597.44/151.22 [U51](x1, x2, x3) = [0] 597.44/151.22 597.44/151.22 [U52](x1, x2, x3) = [0] 597.44/151.22 597.44/151.22 [U53](x1, x2, x3) = [0] 597.44/151.22 597.44/151.22 [U54](x1, x2, x3) = [0] 597.44/151.22 597.44/151.22 [U55](x1, x2) = [0] 597.44/151.22 597.44/151.22 [U56](x1) = [0] 597.44/151.22 597.44/151.22 [U61](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.22 597.44/151.22 [U62](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.22 597.44/151.22 [U63](x1) = [7] x1 + [0] 597.44/151.22 597.44/151.22 [isPal](x1) = [7] x1 + [0] 597.44/151.22 597.44/151.22 [U81](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.22 597.44/151.22 [U82](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.22 597.44/151.22 [U83](x1) = [7] x1 + [0] 597.44/151.22 597.44/151.22 [isNePal](x1) = [7] x1 + [0] 597.44/151.22 597.44/151.22 [U91](x1, x2) = [0] 597.44/151.22 597.44/151.22 [U92](x1) = [0] 597.44/151.22 597.44/151.22 [n__nil] = [0] 597.44/151.22 597.44/151.22 [n____](x1, x2) = [1] x1 + [1] x2 + [2] 597.44/151.22 597.44/151.22 [n__a] = [0] 597.44/151.23 597.44/151.23 [n__e] = [0] 597.44/151.23 597.44/151.23 [n__i] = [0] 597.44/151.23 597.44/151.23 [n__o] = [0] 597.44/151.23 597.44/151.23 [n__u] = [0] 597.44/151.23 597.44/151.23 [a] = [0] 597.44/151.23 597.44/151.23 [e] = [0] 597.44/151.23 597.44/151.23 [i] = [0] 597.44/151.23 597.44/151.23 [o] = [0] 597.44/151.23 597.44/151.23 [u] = [0] 597.44/151.23 597.44/151.23 [U11^#](x1, x2) = [2] x2 + [0] 597.44/151.23 597.44/151.23 [U12^#](x1, x2) = [2] x2 + [0] 597.44/151.23 597.44/151.23 [isPalListKind^#](x1) = [7] x1 + [0] 597.44/151.23 597.44/151.23 [isNeList^#](x1) = [2] x1 + [0] 597.44/151.23 597.44/151.23 [U41^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 597.44/151.23 597.44/151.23 [U51^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 597.44/151.23 597.44/151.23 [U21^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 597.44/151.23 597.44/151.23 [U22^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 597.44/151.23 597.44/151.23 [U23^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 597.44/151.23 597.44/151.23 [U24^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 597.44/151.23 597.44/151.23 [U25^#](x1, x2) = [2] x2 + [0] 597.44/151.23 597.44/151.23 [isList^#](x1) = [2] x1 + [0] 597.44/151.23 597.44/151.23 [U42^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 597.44/151.23 597.44/151.23 [U43^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 597.44/151.23 597.44/151.23 [U44^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 597.44/151.23 597.44/151.23 [U45^#](x1, x2) = [2] x2 + [0] 597.44/151.23 597.44/151.23 [U52^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 597.44/151.23 597.44/151.23 [U53^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 597.44/151.23 597.44/151.23 [U54^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 597.44/151.23 597.44/151.23 [U55^#](x1, x2) = [2] x2 + [0] 597.44/151.23 597.44/151.23 [U61^#](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [U71^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [0] 597.44/151.23 597.44/151.23 [U72^#](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [U73^#](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [isPal^#](x1) = [7] x1 + [0] 597.44/151.23 597.44/151.23 [U81^#](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [U82^#](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [isNePal^#](x1) = [7] x1 + [0] 597.44/151.23 597.44/151.23 [c_1](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_2](x1) = [7] x1 + [0] 597.44/151.23 597.44/151.23 [c_5](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_6](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_9](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_10](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_11](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_12](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_13](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_14](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_15](x1) = [7] x1 + [0] 597.44/151.23 597.44/151.23 [c_16](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_17](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_18](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_19](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_20](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_21](x1) = [7] x1 + [0] 597.44/151.23 597.44/151.23 [c_22](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_23](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_24](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_25](x1) = [7] x1 + [0] 597.44/151.23 597.44/151.23 [c_26](x1) = [7] x1 + [0] 597.44/151.23 597.44/151.23 [c_27](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_28](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_29](x1) = [7] x1 + [0] 597.44/151.23 597.44/151.23 [c_30](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_31](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_32](x1) = [7] x1 + [0] 597.44/151.23 597.44/151.23 [c_33](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c] = [0] 597.44/151.23 597.44/151.23 [c_1](x1) = [1] x1 + [0] 597.44/151.23 597.44/151.23 [c_2](x1) = [1] x1 + [0] 597.44/151.23 597.44/151.23 [c_3](x1) = [1] x1 + [3] 597.44/151.23 597.44/151.23 [c_4](x1) = [1] x1 + [0] 597.44/151.23 597.44/151.23 [c_5](x1) = [1] x1 + [0] 597.44/151.23 597.44/151.23 [c_6](x1) = [1] x1 + [1] 597.44/151.23 597.44/151.23 [c_7](x1) = [1] x1 + [0] 597.44/151.23 597.44/151.23 [c_8](x1) = [1] x1 + [0] 597.44/151.23 597.44/151.23 [c_9](x1) = [1] x1 + [0] 597.44/151.23 597.44/151.23 [c_10](x1, x2) = [1] x1 + [1] x2 + [0] 597.44/151.23 597.44/151.23 [c_11] = [0] 597.44/151.23 597.44/151.23 [c_12](x1) = [7] x1 + [0] 597.44/151.23 597.44/151.23 [c_13] = [0] 597.44/151.23 597.44/151.23 [c_14](x1) = [1] x1 + [3] 597.44/151.23 597.44/151.23 [c_15](x1) = [1] x1 + [0] 597.44/151.23 597.44/151.23 [c_16](x1) = [1] x1 + [0] 597.44/151.23 597.44/151.23 [c_17](x1) = [1] x1 + [0] 597.44/151.23 597.44/151.23 [c_18](x1) = [1] x1 + [0] 597.44/151.23 597.44/151.23 [c_19](x1, x2) = [1] x1 + [1] x2 + [0] 597.44/151.23 597.44/151.23 [c_20](x1) = [1] x1 + [0] 597.44/151.23 597.44/151.23 [c_21](x1) = [1] x1 + [0] 597.44/151.23 597.44/151.23 [c_22](x1) = [1] x1 + [0] 597.44/151.23 597.44/151.23 [c_23](x1, x2) = [1] x1 + [1] x2 + [0] 597.44/151.23 597.44/151.23 [c_24](x1) = [1] x1 + [0] 597.44/151.23 597.44/151.23 [c_25](x1) = [7] x1 + [0] 597.44/151.23 597.44/151.23 [c_26](x1, x2) = [7] x1 + [7] x2 + [0] 597.44/151.23 597.44/151.23 [c_27](x1) = [7] x1 + [0] 597.44/151.23 597.44/151.23 [c_28](x1) = [7] x1 + [0] 597.44/151.23 597.44/151.23 The order satisfies the following ordering constraints: 597.44/151.23 597.44/151.23 [__(X1, X2)] = [1] X1 + [1] X2 + [2] 597.44/151.23 >= [1] X1 + [1] X2 + [2] 597.44/151.23 = [n____(X1, X2)] 597.44/151.23 597.44/151.23 [nil()] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [n__nil()] 597.44/151.23 597.44/151.23 [U11(tt(), V)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U12(isPalListKind(activate(V)), activate(V))] 597.44/151.23 597.44/151.23 [U12(tt(), V)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U13(isNeList(activate(V)))] 597.44/151.23 597.44/151.23 [isPalListKind(n__nil())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [isPalListKind(n____(V1, V2))] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U91(isPalListKind(activate(V1)), activate(V2))] 597.44/151.23 597.44/151.23 [isPalListKind(n__a())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [isPalListKind(n__e())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [isPalListKind(n__i())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [isPalListKind(n__o())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [isPalListKind(n__u())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [activate(X)] = [1] X + [0] 597.44/151.23 >= [1] X + [0] 597.44/151.23 = [X] 597.44/151.23 597.44/151.23 [activate(n__nil())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [nil()] 597.44/151.23 597.44/151.23 [activate(n____(X1, X2))] = [1] X1 + [1] X2 + [2] 597.44/151.23 >= [1] X1 + [1] X2 + [2] 597.44/151.23 = [__(X1, X2)] 597.44/151.23 597.44/151.23 [activate(n__a())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [a()] 597.44/151.23 597.44/151.23 [activate(n__e())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [e()] 597.44/151.23 597.44/151.23 [activate(n__i())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [i()] 597.44/151.23 597.44/151.23 [activate(n__o())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [o()] 597.44/151.23 597.44/151.23 [activate(n__u())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [u()] 597.44/151.23 597.44/151.23 [U13(tt())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [isNeList(V)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U31(isPalListKind(activate(V)), activate(V))] 597.44/151.23 597.44/151.23 [isNeList(n____(V1, V2))] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U41(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.23 597.44/151.23 [isNeList(n____(V1, V2))] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U51(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.23 597.44/151.23 [U21(tt(), V1, V2)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U22(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.23 597.44/151.23 [U22(tt(), V1, V2)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U23(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.23 597.44/151.23 [U23(tt(), V1, V2)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U24(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.23 597.44/151.23 [U24(tt(), V1, V2)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U25(isList(activate(V1)), activate(V2))] 597.44/151.23 597.44/151.23 [U25(tt(), V2)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U26(isList(activate(V2)))] 597.44/151.23 597.44/151.23 [isList(V)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U11(isPalListKind(activate(V)), activate(V))] 597.44/151.23 597.44/151.23 [isList(n__nil())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [isList(n____(V1, V2))] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U21(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.23 597.44/151.23 [U26(tt())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [U31(tt(), V)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U32(isPalListKind(activate(V)), activate(V))] 597.44/151.23 597.44/151.23 [U32(tt(), V)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U33(isQid(activate(V)))] 597.44/151.23 597.44/151.23 [U33(tt())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [isQid(n__a())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [isQid(n__e())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [isQid(n__i())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [isQid(n__o())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [isQid(n__u())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [U41(tt(), V1, V2)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U42(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.23 597.44/151.23 [U42(tt(), V1, V2)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U43(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.23 597.44/151.23 [U43(tt(), V1, V2)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U44(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.23 597.44/151.23 [U44(tt(), V1, V2)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U45(isList(activate(V1)), activate(V2))] 597.44/151.23 597.44/151.23 [U45(tt(), V2)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U46(isNeList(activate(V2)))] 597.44/151.23 597.44/151.23 [U46(tt())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [U51(tt(), V1, V2)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U52(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.23 597.44/151.23 [U52(tt(), V1, V2)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U53(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.23 597.44/151.23 [U53(tt(), V1, V2)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U54(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.23 597.44/151.23 [U54(tt(), V1, V2)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U55(isNeList(activate(V1)), activate(V2))] 597.44/151.23 597.44/151.23 [U55(tt(), V2)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U56(isList(activate(V2)))] 597.44/151.23 597.44/151.23 [U56(tt())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [U91(tt(), V2)] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [U92(isPalListKind(activate(V2)))] 597.44/151.23 597.44/151.23 [U92(tt())] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [tt()] 597.44/151.23 597.44/151.23 [a()] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [n__a()] 597.44/151.23 597.44/151.23 [e()] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [n__e()] 597.44/151.23 597.44/151.23 [i()] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [n__i()] 597.44/151.23 597.44/151.23 [o()] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [n__o()] 597.44/151.23 597.44/151.23 [u()] = [0] 597.44/151.23 >= [0] 597.44/151.23 = [n__u()] 597.44/151.23 597.44/151.23 [U11^#(tt(), V)] = [2] V + [0] 597.44/151.23 >= [2] V + [0] 597.44/151.23 = [c_1(U12^#(isPalListKind(activate(V)), activate(V)))] 597.44/151.23 597.44/151.23 [U12^#(tt(), V)] = [2] V + [0] 597.44/151.23 >= [2] V + [0] 597.44/151.23 = [c_2(isNeList^#(activate(V)))] 597.44/151.23 597.44/151.23 [isNeList^#(n____(V1, V2))] = [2] V1 + [2] V2 + [4] 597.44/151.23 > [2] V1 + [2] V2 + [3] 597.44/151.23 = [c_3(U51^#(isPalListKind(activate(V1)), 597.44/151.23 activate(V1), 597.44/151.23 activate(V2)))] 597.44/151.23 597.44/151.23 [isNeList^#(n____(V1, V2))] = [2] V1 + [2] V2 + [4] 597.44/151.23 > [2] V1 + [2] V2 + [3] 597.44/151.23 = [c_14(U41^#(isPalListKind(activate(V1)), 597.44/151.23 activate(V1), 597.44/151.23 activate(V2)))] 597.44/151.23 597.44/151.23 [U41^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 597.44/151.23 >= [2] V1 + [2] V2 + [0] 597.44/151.23 = [c_15(U42^#(isPalListKind(activate(V1)), 597.44/151.23 activate(V1), 597.44/151.23 activate(V2)))] 597.44/151.23 597.44/151.23 [U51^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 597.44/151.23 >= [2] V1 + [2] V2 + [0] 597.44/151.23 = [c_4(U52^#(isPalListKind(activate(V1)), 597.44/151.23 activate(V1), 597.44/151.23 activate(V2)))] 597.44/151.23 597.44/151.23 [U21^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 597.44/151.23 >= [2] V1 + [2] V2 + [0] 597.44/151.23 = [c_16(U22^#(isPalListKind(activate(V1)), 597.44/151.23 activate(V1), 597.44/151.23 activate(V2)))] 597.44/151.23 597.44/151.23 [U22^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 597.44/151.23 >= [2] V1 + [2] V2 + [0] 597.44/151.23 = [c_17(U23^#(isPalListKind(activate(V2)), 597.44/151.23 activate(V1), 597.44/151.23 activate(V2)))] 597.44/151.23 597.44/151.23 [U23^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 597.44/151.23 >= [2] V1 + [2] V2 + [0] 597.44/151.23 = [c_18(U24^#(isPalListKind(activate(V2)), 597.44/151.23 activate(V1), 597.44/151.23 activate(V2)))] 597.44/151.23 597.44/151.23 [U24^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 597.44/151.23 >= [2] V1 + [2] V2 + [0] 597.44/151.23 = [c_19(U25^#(isList(activate(V1)), activate(V2)), 597.44/151.23 isList^#(activate(V1)))] 597.44/151.23 597.44/151.23 [U25^#(tt(), V2)] = [2] V2 + [0] 597.44/151.23 >= [2] V2 + [0] 597.44/151.23 = [c_20(isList^#(activate(V2)))] 597.44/151.23 597.44/151.23 [isList^#(V)] = [2] V + [0] 597.44/151.23 >= [2] V + [0] 597.44/151.23 = [c_5(U11^#(isPalListKind(activate(V)), activate(V)))] 597.44/151.23 597.44/151.23 [isList^#(n____(V1, V2))] = [2] V1 + [2] V2 + [4] 597.44/151.23 > [2] V1 + [2] V2 + [1] 597.44/151.23 = [c_6(U21^#(isPalListKind(activate(V1)), 597.44/151.23 activate(V1), 597.44/151.23 activate(V2)))] 597.44/151.23 597.44/151.23 [U42^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 597.44/151.23 >= [2] V1 + [2] V2 + [0] 597.44/151.23 = [c_21(U43^#(isPalListKind(activate(V2)), 597.44/151.23 activate(V1), 597.44/151.23 activate(V2)))] 597.44/151.23 597.44/151.23 [U43^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 597.44/151.23 >= [2] V1 + [2] V2 + [0] 597.44/151.23 = [c_22(U44^#(isPalListKind(activate(V2)), 597.44/151.23 activate(V1), 597.44/151.23 activate(V2)))] 597.44/151.23 597.44/151.23 [U44^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 597.44/151.23 >= [2] V1 + [2] V2 + [0] 597.44/151.23 = [c_23(U45^#(isList(activate(V1)), activate(V2)), 597.44/151.23 isList^#(activate(V1)))] 597.44/151.23 597.44/151.23 [U45^#(tt(), V2)] = [2] V2 + [0] 597.44/151.23 >= [2] V2 + [0] 597.44/151.23 = [c_7(isNeList^#(activate(V2)))] 597.44/151.23 597.44/151.23 [U52^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 597.44/151.23 >= [2] V1 + [2] V2 + [0] 597.44/151.24 = [c_8(U53^#(isPalListKind(activate(V2)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2)))] 597.44/151.24 597.44/151.24 [U53^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 597.44/151.24 >= [2] V1 + [2] V2 + [0] 597.44/151.24 = [c_9(U54^#(isPalListKind(activate(V2)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2)))] 597.44/151.24 597.44/151.24 [U54^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 597.44/151.24 >= [2] V1 + [2] V2 + [0] 597.44/151.24 = [c_10(U55^#(isNeList(activate(V1)), activate(V2)), 597.44/151.24 isNeList^#(activate(V1)))] 597.44/151.24 597.44/151.24 [U55^#(tt(), V2)] = [2] V2 + [0] 597.44/151.24 >= [2] V2 + [0] 597.44/151.24 = [c_24(isList^#(activate(V2)))] 597.44/151.24 597.44/151.24 597.44/151.24 We return to the main proof. Consider the set of all dependency 597.44/151.24 pairs 597.44/151.24 597.44/151.24 : 597.44/151.24 { 1: U11^#(tt(), V) -> 597.44/151.24 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.44/151.24 , 2: U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.44/151.24 , 3: isNeList^#(n____(V1, V2)) -> 597.44/151.24 c_3(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.24 , 4: U51^#(tt(), V1, V2) -> 597.44/151.24 c_4(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.24 , 5: isList^#(V) -> 597.44/151.24 c_5(U11^#(isPalListKind(activate(V)), activate(V))) 597.44/151.24 , 6: isList^#(n____(V1, V2)) -> 597.44/151.24 c_6(U21^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.24 , 7: U45^#(tt(), V2) -> c_7(isNeList^#(activate(V2))) 597.44/151.24 , 8: U52^#(tt(), V1, V2) -> 597.44/151.24 c_8(U53^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.44/151.24 , 9: U53^#(tt(), V1, V2) -> 597.44/151.24 c_9(U54^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.44/151.24 , 10: U54^#(tt(), V1, V2) -> 597.44/151.24 c_10(U55^#(isNeList(activate(V1)), activate(V2)), 597.44/151.24 isNeList^#(activate(V1))) 597.44/151.24 , 11: isNeList^#(n____(V1, V2)) -> 597.44/151.24 c_14(U41^#(isPalListKind(activate(V1)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , 12: U41^#(tt(), V1, V2) -> 597.44/151.24 c_15(U42^#(isPalListKind(activate(V1)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , 13: U21^#(tt(), V1, V2) -> 597.44/151.24 c_16(U22^#(isPalListKind(activate(V1)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , 14: U22^#(tt(), V1, V2) -> 597.44/151.24 c_17(U23^#(isPalListKind(activate(V2)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , 15: U23^#(tt(), V1, V2) -> 597.44/151.24 c_18(U24^#(isPalListKind(activate(V2)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , 16: U24^#(tt(), V1, V2) -> 597.44/151.24 c_19(U25^#(isList(activate(V1)), activate(V2)), 597.44/151.24 isList^#(activate(V1))) 597.44/151.24 , 17: U25^#(tt(), V2) -> c_20(isList^#(activate(V2))) 597.44/151.24 , 18: U42^#(tt(), V1, V2) -> 597.44/151.24 c_21(U43^#(isPalListKind(activate(V2)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , 19: U43^#(tt(), V1, V2) -> 597.44/151.24 c_22(U44^#(isPalListKind(activate(V2)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , 20: U44^#(tt(), V1, V2) -> 597.44/151.24 c_23(U45^#(isList(activate(V1)), activate(V2)), 597.44/151.24 isList^#(activate(V1))) 597.44/151.24 , 21: U55^#(tt(), V2) -> c_24(isList^#(activate(V2))) } 597.44/151.24 597.44/151.24 Processor 'matrix interpretation of dimension 1' induces the 597.44/151.24 complexity certificate YES(?,O(n^1)) on application of dependency 597.44/151.24 pairs {3,6,11}. These cover all (indirect) predecessors of 597.44/151.24 dependency pairs 597.44/151.24 {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21}, their 597.44/151.24 number of application is equally bounded. The dependency pairs are 597.44/151.24 shifted into the weak component. 597.44/151.24 597.44/151.24 We are left with following problem, upon which TcT provides the 597.44/151.24 certificate YES(O(1),O(1)). 597.44/151.24 597.44/151.24 Weak DPs: 597.44/151.24 { U11^#(tt(), V) -> 597.44/151.24 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.44/151.24 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.44/151.24 , isNeList^#(n____(V1, V2)) -> 597.44/151.24 c_3(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.24 , isNeList^#(n____(V1, V2)) -> 597.44/151.24 c_14(U41^#(isPalListKind(activate(V1)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , U41^#(tt(), V1, V2) -> 597.44/151.24 c_15(U42^#(isPalListKind(activate(V1)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , U51^#(tt(), V1, V2) -> 597.44/151.24 c_4(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.24 , U21^#(tt(), V1, V2) -> 597.44/151.24 c_16(U22^#(isPalListKind(activate(V1)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , U22^#(tt(), V1, V2) -> 597.44/151.24 c_17(U23^#(isPalListKind(activate(V2)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , U23^#(tt(), V1, V2) -> 597.44/151.24 c_18(U24^#(isPalListKind(activate(V2)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , U24^#(tt(), V1, V2) -> 597.44/151.24 c_19(U25^#(isList(activate(V1)), activate(V2)), 597.44/151.24 isList^#(activate(V1))) 597.44/151.24 , U25^#(tt(), V2) -> c_20(isList^#(activate(V2))) 597.44/151.24 , isList^#(V) -> 597.44/151.24 c_5(U11^#(isPalListKind(activate(V)), activate(V))) 597.44/151.24 , isList^#(n____(V1, V2)) -> 597.44/151.24 c_6(U21^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.24 , U42^#(tt(), V1, V2) -> 597.44/151.24 c_21(U43^#(isPalListKind(activate(V2)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , U43^#(tt(), V1, V2) -> 597.44/151.24 c_22(U44^#(isPalListKind(activate(V2)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , U44^#(tt(), V1, V2) -> 597.44/151.24 c_23(U45^#(isList(activate(V1)), activate(V2)), 597.44/151.24 isList^#(activate(V1))) 597.44/151.24 , U45^#(tt(), V2) -> c_7(isNeList^#(activate(V2))) 597.44/151.24 , U52^#(tt(), V1, V2) -> 597.44/151.24 c_8(U53^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.44/151.24 , U53^#(tt(), V1, V2) -> 597.44/151.24 c_9(U54^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.44/151.24 , U54^#(tt(), V1, V2) -> 597.44/151.24 c_10(U55^#(isNeList(activate(V1)), activate(V2)), 597.44/151.24 isNeList^#(activate(V1))) 597.44/151.24 , U55^#(tt(), V2) -> c_24(isList^#(activate(V2))) } 597.44/151.24 Weak Trs: 597.44/151.24 { __(X1, X2) -> n____(X1, X2) 597.44/151.24 , nil() -> n__nil() 597.44/151.24 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.44/151.24 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.44/151.24 , isPalListKind(n__nil()) -> tt() 597.44/151.24 , isPalListKind(n____(V1, V2)) -> 597.44/151.24 U91(isPalListKind(activate(V1)), activate(V2)) 597.44/151.24 , isPalListKind(n__a()) -> tt() 597.44/151.24 , isPalListKind(n__e()) -> tt() 597.44/151.24 , isPalListKind(n__i()) -> tt() 597.44/151.24 , isPalListKind(n__o()) -> tt() 597.44/151.24 , isPalListKind(n__u()) -> tt() 597.44/151.24 , activate(X) -> X 597.44/151.24 , activate(n__nil()) -> nil() 597.44/151.24 , activate(n____(X1, X2)) -> __(X1, X2) 597.44/151.24 , activate(n__a()) -> a() 597.44/151.24 , activate(n__e()) -> e() 597.44/151.24 , activate(n__i()) -> i() 597.44/151.24 , activate(n__o()) -> o() 597.44/151.24 , activate(n__u()) -> u() 597.44/151.24 , U13(tt()) -> tt() 597.44/151.24 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.44/151.24 , isNeList(n____(V1, V2)) -> 597.44/151.24 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.24 , isNeList(n____(V1, V2)) -> 597.44/151.24 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.24 , U21(tt(), V1, V2) -> 597.44/151.24 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.24 , U22(tt(), V1, V2) -> 597.44/151.24 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.24 , U23(tt(), V1, V2) -> 597.44/151.24 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.24 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.44/151.24 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.44/151.24 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.44/151.24 , isList(n__nil()) -> tt() 597.44/151.24 , isList(n____(V1, V2)) -> 597.44/151.24 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.24 , U26(tt()) -> tt() 597.44/151.24 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.44/151.24 , U32(tt(), V) -> U33(isQid(activate(V))) 597.44/151.24 , U33(tt()) -> tt() 597.44/151.24 , isQid(n__a()) -> tt() 597.44/151.24 , isQid(n__e()) -> tt() 597.44/151.24 , isQid(n__i()) -> tt() 597.44/151.24 , isQid(n__o()) -> tt() 597.44/151.24 , isQid(n__u()) -> tt() 597.44/151.24 , U41(tt(), V1, V2) -> 597.44/151.24 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.24 , U42(tt(), V1, V2) -> 597.44/151.24 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.24 , U43(tt(), V1, V2) -> 597.44/151.24 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.24 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.44/151.24 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.44/151.24 , U46(tt()) -> tt() 597.44/151.24 , U51(tt(), V1, V2) -> 597.44/151.24 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.24 , U52(tt(), V1, V2) -> 597.44/151.24 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.24 , U53(tt(), V1, V2) -> 597.44/151.24 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.24 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.44/151.24 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.44/151.24 , U56(tt()) -> tt() 597.44/151.24 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.44/151.24 , U92(tt()) -> tt() 597.44/151.24 , a() -> n__a() 597.44/151.24 , e() -> n__e() 597.44/151.24 , i() -> n__i() 597.44/151.24 , o() -> n__o() 597.44/151.24 , u() -> n__u() } 597.44/151.24 Obligation: 597.44/151.24 innermost runtime complexity 597.44/151.24 Answer: 597.44/151.24 YES(O(1),O(1)) 597.44/151.24 597.44/151.24 The following weak DPs constitute a sub-graph of the DG that is 597.44/151.24 closed under successors. The DPs are removed. 597.44/151.24 597.44/151.24 { U11^#(tt(), V) -> 597.44/151.24 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.44/151.24 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.44/151.24 , isNeList^#(n____(V1, V2)) -> 597.44/151.24 c_3(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.24 , isNeList^#(n____(V1, V2)) -> 597.44/151.24 c_14(U41^#(isPalListKind(activate(V1)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , U41^#(tt(), V1, V2) -> 597.44/151.24 c_15(U42^#(isPalListKind(activate(V1)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , U51^#(tt(), V1, V2) -> 597.44/151.24 c_4(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.24 , U21^#(tt(), V1, V2) -> 597.44/151.24 c_16(U22^#(isPalListKind(activate(V1)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , U22^#(tt(), V1, V2) -> 597.44/151.24 c_17(U23^#(isPalListKind(activate(V2)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , U23^#(tt(), V1, V2) -> 597.44/151.24 c_18(U24^#(isPalListKind(activate(V2)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , U24^#(tt(), V1, V2) -> 597.44/151.24 c_19(U25^#(isList(activate(V1)), activate(V2)), 597.44/151.24 isList^#(activate(V1))) 597.44/151.24 , U25^#(tt(), V2) -> c_20(isList^#(activate(V2))) 597.44/151.24 , isList^#(V) -> 597.44/151.24 c_5(U11^#(isPalListKind(activate(V)), activate(V))) 597.44/151.24 , isList^#(n____(V1, V2)) -> 597.44/151.24 c_6(U21^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.44/151.24 , U42^#(tt(), V1, V2) -> 597.44/151.24 c_21(U43^#(isPalListKind(activate(V2)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , U43^#(tt(), V1, V2) -> 597.44/151.24 c_22(U44^#(isPalListKind(activate(V2)), 597.44/151.24 activate(V1), 597.44/151.24 activate(V2))) 597.44/151.24 , U44^#(tt(), V1, V2) -> 597.44/151.24 c_23(U45^#(isList(activate(V1)), activate(V2)), 597.44/151.24 isList^#(activate(V1))) 597.44/151.24 , U45^#(tt(), V2) -> c_7(isNeList^#(activate(V2))) 597.44/151.24 , U52^#(tt(), V1, V2) -> 597.44/151.24 c_8(U53^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.44/151.24 , U53^#(tt(), V1, V2) -> 597.44/151.24 c_9(U54^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.44/151.24 , U54^#(tt(), V1, V2) -> 597.44/151.24 c_10(U55^#(isNeList(activate(V1)), activate(V2)), 597.44/151.24 isNeList^#(activate(V1))) 597.44/151.24 , U55^#(tt(), V2) -> c_24(isList^#(activate(V2))) } 597.44/151.24 597.44/151.24 We are left with following problem, upon which TcT provides the 597.44/151.24 certificate YES(O(1),O(1)). 597.44/151.24 597.44/151.24 Weak Trs: 597.44/151.24 { __(X1, X2) -> n____(X1, X2) 597.44/151.24 , nil() -> n__nil() 597.44/151.24 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.44/151.24 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.44/151.24 , isPalListKind(n__nil()) -> tt() 597.44/151.24 , isPalListKind(n____(V1, V2)) -> 597.44/151.24 U91(isPalListKind(activate(V1)), activate(V2)) 597.44/151.24 , isPalListKind(n__a()) -> tt() 597.44/151.24 , isPalListKind(n__e()) -> tt() 597.44/151.24 , isPalListKind(n__i()) -> tt() 597.44/151.24 , isPalListKind(n__o()) -> tt() 597.44/151.24 , isPalListKind(n__u()) -> tt() 597.44/151.24 , activate(X) -> X 597.44/151.24 , activate(n__nil()) -> nil() 597.44/151.24 , activate(n____(X1, X2)) -> __(X1, X2) 597.44/151.24 , activate(n__a()) -> a() 597.44/151.24 , activate(n__e()) -> e() 597.44/151.24 , activate(n__i()) -> i() 597.44/151.24 , activate(n__o()) -> o() 597.44/151.24 , activate(n__u()) -> u() 597.44/151.24 , U13(tt()) -> tt() 597.44/151.24 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.44/151.24 , isNeList(n____(V1, V2)) -> 597.44/151.24 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.24 , isNeList(n____(V1, V2)) -> 597.44/151.24 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.24 , U21(tt(), V1, V2) -> 597.44/151.24 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.24 , U22(tt(), V1, V2) -> 597.44/151.24 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.24 , U23(tt(), V1, V2) -> 597.44/151.24 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.24 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.44/151.24 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.44/151.24 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.44/151.24 , isList(n__nil()) -> tt() 597.44/151.24 , isList(n____(V1, V2)) -> 597.44/151.24 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.24 , U26(tt()) -> tt() 597.44/151.25 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.44/151.25 , U32(tt(), V) -> U33(isQid(activate(V))) 597.44/151.25 , U33(tt()) -> tt() 597.44/151.25 , isQid(n__a()) -> tt() 597.44/151.25 , isQid(n__e()) -> tt() 597.44/151.25 , isQid(n__i()) -> tt() 597.44/151.25 , isQid(n__o()) -> tt() 597.44/151.25 , isQid(n__u()) -> tt() 597.44/151.25 , U41(tt(), V1, V2) -> 597.44/151.25 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , U42(tt(), V1, V2) -> 597.44/151.25 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.25 , U43(tt(), V1, V2) -> 597.44/151.25 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.25 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.44/151.25 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.44/151.25 , U46(tt()) -> tt() 597.44/151.25 , U51(tt(), V1, V2) -> 597.44/151.25 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , U52(tt(), V1, V2) -> 597.44/151.25 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.25 , U53(tt(), V1, V2) -> 597.44/151.25 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.25 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.44/151.25 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.44/151.25 , U56(tt()) -> tt() 597.44/151.25 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.44/151.25 , U92(tt()) -> tt() 597.44/151.25 , a() -> n__a() 597.44/151.25 , e() -> n__e() 597.44/151.25 , i() -> n__i() 597.44/151.25 , o() -> n__o() 597.44/151.25 , u() -> n__u() } 597.44/151.25 Obligation: 597.44/151.25 innermost runtime complexity 597.44/151.25 Answer: 597.44/151.25 YES(O(1),O(1)) 597.44/151.25 597.44/151.25 No rule is usable, rules are removed from the input problem. 597.44/151.25 597.44/151.25 We are left with following problem, upon which TcT provides the 597.44/151.25 certificate YES(O(1),O(1)). 597.44/151.25 597.44/151.25 Rules: Empty 597.44/151.25 Obligation: 597.44/151.25 innermost runtime complexity 597.44/151.25 Answer: 597.44/151.25 YES(O(1),O(1)) 597.44/151.25 597.44/151.25 Empty rules are trivially bounded 597.44/151.25 597.44/151.25 We return to the main proof. 597.44/151.25 597.44/151.25 We are left with following problem, upon which TcT provides the 597.44/151.25 certificate YES(O(1),O(n^1)). 597.44/151.25 597.44/151.25 Strict DPs: 597.44/151.25 { isPalListKind^#(n____(V1, V2)) -> 597.44/151.25 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.44/151.25 isPalListKind^#(activate(V1))) 597.44/151.25 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) } 597.44/151.25 Weak DPs: 597.44/151.25 { U11^#(tt(), V) -> U12^#(isPalListKind(activate(V)), activate(V)) 597.44/151.25 , U11^#(tt(), V) -> isPalListKind^#(activate(V)) 597.44/151.25 , U12^#(tt(), V) -> isNeList^#(activate(V)) 597.44/151.25 , isNeList^#(V) -> 597.44/151.25 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.44/151.25 isPalListKind^#(activate(V))) 597.44/151.25 , isNeList^#(n____(V1, V2)) -> isPalListKind^#(activate(V1)) 597.44/151.25 , isNeList^#(n____(V1, V2)) -> 597.44/151.25 U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , isNeList^#(n____(V1, V2)) -> 597.44/151.25 U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.44/151.25 , U41^#(tt(), V1, V2) -> isPalListKind^#(activate(V1)) 597.44/151.25 , U41^#(tt(), V1, V2) -> 597.44/151.25 U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , U51^#(tt(), V1, V2) -> isPalListKind^#(activate(V1)) 597.44/151.25 , U51^#(tt(), V1, V2) -> 597.44/151.25 U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , U21^#(tt(), V1, V2) -> isPalListKind^#(activate(V1)) 597.44/151.25 , U21^#(tt(), V1, V2) -> 597.44/151.25 U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , U22^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.25 , U22^#(tt(), V1, V2) -> 597.44/151.25 U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.25 , U23^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.25 , U23^#(tt(), V1, V2) -> 597.44/151.25 U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.25 , U24^#(tt(), V1, V2) -> U25^#(isList(activate(V1)), activate(V2)) 597.44/151.25 , U24^#(tt(), V1, V2) -> isList^#(activate(V1)) 597.44/151.25 , U25^#(tt(), V2) -> isList^#(activate(V2)) 597.44/151.25 , isList^#(V) -> U11^#(isPalListKind(activate(V)), activate(V)) 597.44/151.25 , isList^#(V) -> isPalListKind^#(activate(V)) 597.44/151.25 , isList^#(n____(V1, V2)) -> isPalListKind^#(activate(V1)) 597.44/151.25 , isList^#(n____(V1, V2)) -> 597.44/151.25 U21^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , U42^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.25 , U42^#(tt(), V1, V2) -> 597.44/151.25 U43^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.25 , U43^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.25 , U43^#(tt(), V1, V2) -> 597.44/151.25 U44^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.25 , U44^#(tt(), V1, V2) -> isList^#(activate(V1)) 597.44/151.25 , U44^#(tt(), V1, V2) -> U45^#(isList(activate(V1)), activate(V2)) 597.44/151.25 , U45^#(tt(), V2) -> isNeList^#(activate(V2)) 597.44/151.25 , U52^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.25 , U52^#(tt(), V1, V2) -> 597.44/151.25 U53^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.25 , U53^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.25 , U53^#(tt(), V1, V2) -> 597.44/151.25 U54^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.25 , U54^#(tt(), V1, V2) -> isNeList^#(activate(V1)) 597.44/151.25 , U54^#(tt(), V1, V2) -> 597.44/151.25 U55^#(isNeList(activate(V1)), activate(V2)) 597.44/151.25 , U55^#(tt(), V2) -> isList^#(activate(V2)) 597.44/151.25 , U61^#(tt(), V) -> isPalListKind^#(activate(V)) 597.44/151.25 , U71^#(tt(), I, P) -> isPalListKind^#(activate(I)) 597.44/151.25 , U71^#(tt(), I, P) -> 597.44/151.25 U72^#(isPalListKind(activate(I)), activate(P)) 597.44/151.25 , U72^#(tt(), P) -> U73^#(isPal(activate(P)), activate(P)) 597.44/151.25 , U72^#(tt(), P) -> isPal^#(activate(P)) 597.44/151.25 , U73^#(tt(), P) -> isPalListKind^#(activate(P)) 597.44/151.25 , isPal^#(V) -> isPalListKind^#(activate(V)) 597.44/151.25 , isPal^#(V) -> U81^#(isPalListKind(activate(V)), activate(V)) 597.44/151.25 , U81^#(tt(), V) -> isPalListKind^#(activate(V)) 597.44/151.25 , U81^#(tt(), V) -> U82^#(isPalListKind(activate(V)), activate(V)) 597.44/151.25 , U82^#(tt(), V) -> isNePal^#(activate(V)) 597.44/151.25 , isNePal^#(V) -> isPalListKind^#(activate(V)) 597.44/151.25 , isNePal^#(V) -> U61^#(isPalListKind(activate(V)), activate(V)) } 597.44/151.25 Weak Trs: 597.44/151.25 { __(X1, X2) -> n____(X1, X2) 597.44/151.25 , nil() -> n__nil() 597.44/151.25 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.44/151.25 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.44/151.25 , isPalListKind(n__nil()) -> tt() 597.44/151.25 , isPalListKind(n____(V1, V2)) -> 597.44/151.25 U91(isPalListKind(activate(V1)), activate(V2)) 597.44/151.25 , isPalListKind(n__a()) -> tt() 597.44/151.25 , isPalListKind(n__e()) -> tt() 597.44/151.25 , isPalListKind(n__i()) -> tt() 597.44/151.25 , isPalListKind(n__o()) -> tt() 597.44/151.25 , isPalListKind(n__u()) -> tt() 597.44/151.25 , activate(X) -> X 597.44/151.25 , activate(n__nil()) -> nil() 597.44/151.25 , activate(n____(X1, X2)) -> __(X1, X2) 597.44/151.25 , activate(n__a()) -> a() 597.44/151.25 , activate(n__e()) -> e() 597.44/151.25 , activate(n__i()) -> i() 597.44/151.25 , activate(n__o()) -> o() 597.44/151.25 , activate(n__u()) -> u() 597.44/151.25 , U13(tt()) -> tt() 597.44/151.25 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.44/151.25 , isNeList(n____(V1, V2)) -> 597.44/151.25 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , isNeList(n____(V1, V2)) -> 597.44/151.25 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , U21(tt(), V1, V2) -> 597.44/151.25 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , U22(tt(), V1, V2) -> 597.44/151.25 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.25 , U23(tt(), V1, V2) -> 597.44/151.25 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.25 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.44/151.25 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.44/151.25 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.44/151.25 , isList(n__nil()) -> tt() 597.44/151.25 , isList(n____(V1, V2)) -> 597.44/151.25 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , U26(tt()) -> tt() 597.44/151.25 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.44/151.25 , U32(tt(), V) -> U33(isQid(activate(V))) 597.44/151.25 , U33(tt()) -> tt() 597.44/151.25 , isQid(n__a()) -> tt() 597.44/151.25 , isQid(n__e()) -> tt() 597.44/151.25 , isQid(n__i()) -> tt() 597.44/151.25 , isQid(n__o()) -> tt() 597.44/151.25 , isQid(n__u()) -> tt() 597.44/151.25 , U41(tt(), V1, V2) -> 597.44/151.25 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , U42(tt(), V1, V2) -> 597.44/151.25 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.25 , U43(tt(), V1, V2) -> 597.44/151.25 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.25 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.44/151.25 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.44/151.25 , U46(tt()) -> tt() 597.44/151.25 , U51(tt(), V1, V2) -> 597.44/151.25 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , U52(tt(), V1, V2) -> 597.44/151.25 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.25 , U53(tt(), V1, V2) -> 597.44/151.25 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.25 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.44/151.25 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.44/151.25 , U56(tt()) -> tt() 597.44/151.25 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.44/151.25 , U62(tt(), V) -> U63(isQid(activate(V))) 597.44/151.25 , U63(tt()) -> tt() 597.44/151.25 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.44/151.25 , isPal(n__nil()) -> tt() 597.44/151.25 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.44/151.25 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.44/151.25 , U83(tt()) -> tt() 597.44/151.25 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.44/151.25 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.44/151.25 , U92(tt()) -> tt() 597.44/151.25 , a() -> n__a() 597.44/151.25 , e() -> n__e() 597.44/151.25 , i() -> n__i() 597.44/151.25 , o() -> n__o() 597.44/151.25 , u() -> n__u() } 597.44/151.25 Obligation: 597.44/151.25 innermost runtime complexity 597.44/151.25 Answer: 597.44/151.25 YES(O(1),O(n^1)) 597.44/151.25 597.44/151.25 We use the processor 'matrix interpretation of dimension 1' to 597.44/151.25 orient following rules strictly. 597.44/151.25 597.44/151.25 DPs: 597.44/151.25 { 1: isPalListKind^#(n____(V1, V2)) -> 597.44/151.25 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.44/151.25 isPalListKind^#(activate(V1))) 597.44/151.25 , 7: isNeList^#(n____(V1, V2)) -> isPalListKind^#(activate(V1)) 597.44/151.25 , 8: isNeList^#(n____(V1, V2)) -> 597.44/151.25 U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , 9: isNeList^#(n____(V1, V2)) -> 597.44/151.25 U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , 11: U41^#(tt(), V1, V2) -> isPalListKind^#(activate(V1)) 597.44/151.25 , 12: U41^#(tt(), V1, V2) -> 597.44/151.25 U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , 13: U51^#(tt(), V1, V2) -> isPalListKind^#(activate(V1)) 597.44/151.25 , 26: isList^#(n____(V1, V2)) -> isPalListKind^#(activate(V1)) 597.44/151.25 , 27: isList^#(n____(V1, V2)) -> 597.44/151.25 U21^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.25 , 35: U52^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.25 , 37: U53^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.25 , 38: U53^#(tt(), V1, V2) -> 597.44/151.25 U54^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.25 , 42: U61^#(tt(), V) -> isPalListKind^#(activate(V)) 597.44/151.25 , 43: U71^#(tt(), I, P) -> isPalListKind^#(activate(I)) 597.44/151.25 , 44: U71^#(tt(), I, P) -> 597.44/151.25 U72^#(isPalListKind(activate(I)), activate(P)) 597.44/151.25 , 45: U72^#(tt(), P) -> U73^#(isPal(activate(P)), activate(P)) 597.44/151.25 , 48: isPal^#(V) -> isPalListKind^#(activate(V)) 597.44/151.25 , 50: U81^#(tt(), V) -> isPalListKind^#(activate(V)) 597.44/151.25 , 53: isNePal^#(V) -> isPalListKind^#(activate(V)) } 597.44/151.25 597.44/151.25 Sub-proof: 597.44/151.25 ---------- 597.44/151.25 The following argument positions are usable: 597.44/151.25 Uargs(c_3) = {1, 2}, Uargs(c_4) = {1, 2}, Uargs(c_7) = {1}, 597.44/151.25 Uargs(c_8) = {1} 597.44/151.25 597.44/151.25 TcT has computed the following constructor-based matrix 597.44/151.25 interpretation satisfying not(EDA). 597.44/151.25 597.44/151.25 [__](x1, x2) = [1] x1 + [1] x2 + [4] 597.44/151.25 597.44/151.25 [nil] = [0] 597.44/151.25 597.44/151.25 [U11](x1, x2) = [0] 597.44/151.25 597.44/151.25 [tt] = [0] 597.44/151.25 597.44/151.25 [U12](x1, x2) = [0] 597.44/151.25 597.44/151.25 [isPalListKind](x1) = [0] 597.44/151.25 597.44/151.25 [activate](x1) = [1] x1 + [0] 597.44/151.25 597.44/151.25 [U13](x1) = [0] 597.44/151.25 597.44/151.25 [isNeList](x1) = [0] 597.44/151.25 597.44/151.25 [U21](x1, x2, x3) = [0] 597.44/151.25 597.44/151.25 [U22](x1, x2, x3) = [0] 597.44/151.25 597.44/151.25 [U23](x1, x2, x3) = [0] 597.44/151.25 597.44/151.25 [U24](x1, x2, x3) = [0] 597.44/151.25 597.44/151.25 [U25](x1, x2) = [0] 597.44/151.25 597.44/151.25 [isList](x1) = [0] 597.44/151.25 597.44/151.25 [U26](x1) = [0] 597.44/151.25 597.44/151.25 [U31](x1, x2) = [0] 597.44/151.25 597.44/151.25 [U32](x1, x2) = [0] 597.44/151.25 597.44/151.25 [U33](x1) = [0] 597.44/151.25 597.44/151.25 [isQid](x1) = [0] 597.44/151.25 597.44/151.25 [U41](x1, x2, x3) = [0] 597.44/151.25 597.44/151.25 [U42](x1, x2, x3) = [0] 597.44/151.25 597.44/151.25 [U43](x1, x2, x3) = [0] 597.44/151.25 597.44/151.25 [U44](x1, x2, x3) = [0] 597.44/151.25 597.44/151.25 [U45](x1, x2) = [0] 597.44/151.25 597.44/151.25 [U46](x1) = [0] 597.44/151.25 597.44/151.25 [U51](x1, x2, x3) = [0] 597.44/151.25 597.44/151.25 [U52](x1, x2, x3) = [0] 597.44/151.25 597.44/151.25 [U53](x1, x2, x3) = [0] 597.44/151.25 597.44/151.25 [U54](x1, x2, x3) = [0] 597.44/151.25 597.44/151.25 [U55](x1, x2) = [0] 597.44/151.25 597.44/151.25 [U56](x1) = [0] 597.44/151.25 597.44/151.25 [U61](x1, x2) = [0] 597.44/151.25 597.44/151.25 [U62](x1, x2) = [0] 597.44/151.25 597.44/151.25 [U63](x1) = [0] 597.44/151.25 597.44/151.25 [isPal](x1) = [0] 597.44/151.25 597.44/151.25 [U81](x1, x2) = [0] 597.44/151.25 597.44/151.25 [U82](x1, x2) = [0] 597.44/151.25 597.44/151.25 [U83](x1) = [0] 597.44/151.25 597.44/151.25 [isNePal](x1) = [0] 597.44/151.25 597.44/151.25 [U91](x1, x2) = [0] 597.44/151.25 597.44/151.25 [U92](x1) = [0] 597.44/151.25 597.44/151.25 [n__nil] = [0] 597.44/151.25 597.44/151.25 [n____](x1, x2) = [1] x1 + [1] x2 + [4] 597.44/151.25 597.44/151.25 [n__a] = [0] 597.44/151.25 597.44/151.25 [n__e] = [0] 597.44/151.25 597.44/151.25 [n__i] = [0] 597.44/151.25 597.44/151.25 [n__o] = [0] 597.44/151.25 597.44/151.25 [n__u] = [0] 597.44/151.25 597.44/151.25 [a] = [0] 597.44/151.25 597.44/151.25 [e] = [0] 597.44/151.25 597.44/151.25 [i] = [0] 597.44/151.25 597.44/151.25 [o] = [0] 597.44/151.25 597.44/151.25 [u] = [0] 597.44/151.25 597.44/151.25 [U11^#](x1, x2) = [3] x2 + [0] 597.44/151.25 597.44/151.25 [U12^#](x1, x2) = [3] x2 + [0] 597.44/151.25 597.44/151.25 [isPalListKind^#](x1) = [1] x1 + [0] 597.44/151.25 597.44/151.25 [isNeList^#](x1) = [3] x1 + [0] 597.44/151.25 597.44/151.25 [U91^#](x1, x2) = [1] x2 + [0] 597.44/151.25 597.44/151.25 [U31^#](x1, x2) = [1] x2 + [0] 597.44/151.25 597.44/151.25 [U41^#](x1, x2, x3) = [3] x2 + [3] x3 + [4] 597.44/151.25 597.44/151.25 [U51^#](x1, x2, x3) = [3] x2 + [3] x3 + [4] 597.44/151.25 597.44/151.25 [U21^#](x1, x2, x3) = [3] x2 + [3] x3 + [0] 597.44/151.25 597.44/151.25 [U22^#](x1, x2, x3) = [3] x2 + [3] x3 + [0] 597.44/151.25 597.44/151.25 [U23^#](x1, x2, x3) = [3] x2 + [3] x3 + [0] 597.44/151.25 597.44/151.25 [U24^#](x1, x2, x3) = [3] x2 + [3] x3 + [0] 597.44/151.25 597.44/151.25 [U25^#](x1, x2) = [3] x2 + [0] 597.44/151.25 597.44/151.25 [isList^#](x1) = [3] x1 + [0] 597.44/151.25 597.44/151.25 [U42^#](x1, x2, x3) = [3] x2 + [3] x3 + [0] 597.44/151.25 597.44/151.25 [U43^#](x1, x2, x3) = [3] x2 + [3] x3 + [0] 597.44/151.25 597.44/151.25 [U44^#](x1, x2, x3) = [3] x2 + [3] x3 + [0] 597.44/151.25 597.44/151.25 [U45^#](x1, x2) = [3] x2 + [0] 597.44/151.25 597.44/151.25 [U52^#](x1, x2, x3) = [3] x2 + [3] x3 + [4] 597.44/151.25 597.44/151.25 [U53^#](x1, x2, x3) = [3] x2 + [3] x3 + [4] 597.44/151.25 597.44/151.25 [U54^#](x1, x2, x3) = [3] x2 + [3] x3 + [0] 597.44/151.25 597.44/151.25 [U55^#](x1, x2) = [3] x2 + [0] 597.44/151.25 597.44/151.25 [U61^#](x1, x2) = [1] x2 + [4] 597.44/151.25 597.44/151.25 [U71^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [5] 597.44/151.25 597.44/151.25 [U72^#](x1, x2) = [4] x2 + [4] 597.44/151.25 597.44/151.25 [U73^#](x1, x2) = [4] x2 + [0] 597.44/151.25 597.44/151.25 [isPal^#](x1) = [1] x1 + [4] 597.44/151.25 597.44/151.25 [U81^#](x1, x2) = [1] x2 + [4] 597.44/151.25 597.44/151.25 [U82^#](x1, x2) = [1] x2 + [4] 597.44/151.25 597.44/151.25 [isNePal^#](x1) = [1] x1 + [4] 597.44/151.25 597.44/151.25 [c_3](x1, x2) = [1] x1 + [1] x2 + [1] 597.44/151.25 597.44/151.25 [c_4](x1, x2) = [1] x1 + [2] x2 + [0] 597.44/151.25 597.44/151.25 [c_7](x1) = [1] x1 + [0] 597.44/151.25 597.44/151.25 [c_8](x1) = [1] x1 + [0] 597.44/151.25 597.44/151.25 The order satisfies the following ordering constraints: 597.44/151.25 597.44/151.25 [__(X1, X2)] = [1] X1 + [1] X2 + [4] 597.44/151.25 >= [1] X1 + [1] X2 + [4] 597.44/151.25 = [n____(X1, X2)] 597.44/151.25 597.44/151.25 [nil()] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [n__nil()] 597.44/151.25 597.44/151.25 [U11(tt(), V)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U12(isPalListKind(activate(V)), activate(V))] 597.44/151.25 597.44/151.25 [U12(tt(), V)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U13(isNeList(activate(V)))] 597.44/151.25 597.44/151.25 [isPalListKind(n__nil())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [isPalListKind(n____(V1, V2))] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U91(isPalListKind(activate(V1)), activate(V2))] 597.44/151.25 597.44/151.25 [isPalListKind(n__a())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [isPalListKind(n__e())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [isPalListKind(n__i())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [isPalListKind(n__o())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [isPalListKind(n__u())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [activate(X)] = [1] X + [0] 597.44/151.25 >= [1] X + [0] 597.44/151.25 = [X] 597.44/151.25 597.44/151.25 [activate(n__nil())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [nil()] 597.44/151.25 597.44/151.25 [activate(n____(X1, X2))] = [1] X1 + [1] X2 + [4] 597.44/151.25 >= [1] X1 + [1] X2 + [4] 597.44/151.25 = [__(X1, X2)] 597.44/151.25 597.44/151.25 [activate(n__a())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [a()] 597.44/151.25 597.44/151.25 [activate(n__e())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [e()] 597.44/151.25 597.44/151.25 [activate(n__i())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [i()] 597.44/151.25 597.44/151.25 [activate(n__o())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [o()] 597.44/151.25 597.44/151.25 [activate(n__u())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [u()] 597.44/151.25 597.44/151.25 [U13(tt())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [isNeList(V)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U31(isPalListKind(activate(V)), activate(V))] 597.44/151.25 597.44/151.25 [isNeList(n____(V1, V2))] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U41(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [isNeList(n____(V1, V2))] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U51(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [U21(tt(), V1, V2)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U22(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [U22(tt(), V1, V2)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U23(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [U23(tt(), V1, V2)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U24(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [U24(tt(), V1, V2)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U25(isList(activate(V1)), activate(V2))] 597.44/151.25 597.44/151.25 [U25(tt(), V2)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U26(isList(activate(V2)))] 597.44/151.25 597.44/151.25 [isList(V)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U11(isPalListKind(activate(V)), activate(V))] 597.44/151.25 597.44/151.25 [isList(n__nil())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [isList(n____(V1, V2))] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U21(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [U26(tt())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [U31(tt(), V)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U32(isPalListKind(activate(V)), activate(V))] 597.44/151.25 597.44/151.25 [U32(tt(), V)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U33(isQid(activate(V)))] 597.44/151.25 597.44/151.25 [U33(tt())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [isQid(n__a())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [isQid(n__e())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [isQid(n__i())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [isQid(n__o())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [isQid(n__u())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [U41(tt(), V1, V2)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U42(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [U42(tt(), V1, V2)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U43(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [U43(tt(), V1, V2)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U44(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [U44(tt(), V1, V2)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U45(isList(activate(V1)), activate(V2))] 597.44/151.25 597.44/151.25 [U45(tt(), V2)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U46(isNeList(activate(V2)))] 597.44/151.25 597.44/151.25 [U46(tt())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [U51(tt(), V1, V2)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U52(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [U52(tt(), V1, V2)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U53(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [U53(tt(), V1, V2)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U54(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [U54(tt(), V1, V2)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U55(isNeList(activate(V1)), activate(V2))] 597.44/151.25 597.44/151.25 [U55(tt(), V2)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U56(isList(activate(V2)))] 597.44/151.25 597.44/151.25 [U56(tt())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [U61(tt(), V)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U62(isPalListKind(activate(V)), activate(V))] 597.44/151.25 597.44/151.25 [U62(tt(), V)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U63(isQid(activate(V)))] 597.44/151.25 597.44/151.25 [U63(tt())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [isPal(V)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U81(isPalListKind(activate(V)), activate(V))] 597.44/151.25 597.44/151.25 [isPal(n__nil())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [U81(tt(), V)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U82(isPalListKind(activate(V)), activate(V))] 597.44/151.25 597.44/151.25 [U82(tt(), V)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U83(isNePal(activate(V)))] 597.44/151.25 597.44/151.25 [U83(tt())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [isNePal(V)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U61(isPalListKind(activate(V)), activate(V))] 597.44/151.25 597.44/151.25 [U91(tt(), V2)] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [U92(isPalListKind(activate(V2)))] 597.44/151.25 597.44/151.25 [U92(tt())] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [tt()] 597.44/151.25 597.44/151.25 [a()] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [n__a()] 597.44/151.25 597.44/151.25 [e()] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [n__e()] 597.44/151.25 597.44/151.25 [i()] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [n__i()] 597.44/151.25 597.44/151.25 [o()] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [n__o()] 597.44/151.25 597.44/151.25 [u()] = [0] 597.44/151.25 >= [0] 597.44/151.25 = [n__u()] 597.44/151.25 597.44/151.25 [U11^#(tt(), V)] = [3] V + [0] 597.44/151.25 >= [3] V + [0] 597.44/151.25 = [U12^#(isPalListKind(activate(V)), activate(V))] 597.44/151.25 597.44/151.25 [U11^#(tt(), V)] = [3] V + [0] 597.44/151.25 >= [1] V + [0] 597.44/151.25 = [isPalListKind^#(activate(V))] 597.44/151.25 597.44/151.25 [U12^#(tt(), V)] = [3] V + [0] 597.44/151.25 >= [3] V + [0] 597.44/151.25 = [isNeList^#(activate(V))] 597.44/151.25 597.44/151.25 [isPalListKind^#(n____(V1, V2))] = [1] V1 + [1] V2 + [4] 597.44/151.25 > [1] V1 + [1] V2 + [1] 597.44/151.25 = [c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.44/151.25 isPalListKind^#(activate(V1)))] 597.44/151.25 597.44/151.25 [isNeList^#(V)] = [3] V + [0] 597.44/151.25 >= [3] V + [0] 597.44/151.25 = [c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.44/151.25 isPalListKind^#(activate(V)))] 597.44/151.25 597.44/151.25 [isNeList^#(n____(V1, V2))] = [3] V1 + [3] V2 + [12] 597.44/151.25 > [1] V1 + [0] 597.44/151.25 = [isPalListKind^#(activate(V1))] 597.44/151.25 597.44/151.25 [isNeList^#(n____(V1, V2))] = [3] V1 + [3] V2 + [12] 597.44/151.25 > [3] V1 + [3] V2 + [4] 597.44/151.25 = [U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [isNeList^#(n____(V1, V2))] = [3] V1 + [3] V2 + [12] 597.44/151.25 > [3] V1 + [3] V2 + [4] 597.44/151.25 = [U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [U91^#(tt(), V2)] = [1] V2 + [0] 597.44/151.25 >= [1] V2 + [0] 597.44/151.25 = [c_7(isPalListKind^#(activate(V2)))] 597.44/151.25 597.44/151.25 [U31^#(tt(), V)] = [1] V + [0] 597.44/151.25 >= [1] V + [0] 597.44/151.25 = [c_8(isPalListKind^#(activate(V)))] 597.44/151.25 597.44/151.25 [U41^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [4] 597.44/151.25 > [1] V1 + [0] 597.44/151.25 = [isPalListKind^#(activate(V1))] 597.44/151.25 597.44/151.25 [U41^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [4] 597.44/151.25 > [3] V1 + [3] V2 + [0] 597.44/151.25 = [U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [U51^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [4] 597.44/151.25 > [1] V1 + [0] 597.44/151.25 = [isPalListKind^#(activate(V1))] 597.44/151.25 597.44/151.25 [U51^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [4] 597.44/151.25 >= [3] V1 + [3] V2 + [4] 597.44/151.25 = [U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [U21^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [0] 597.44/151.25 >= [1] V1 + [0] 597.44/151.25 = [isPalListKind^#(activate(V1))] 597.44/151.25 597.44/151.25 [U21^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [0] 597.44/151.25 >= [3] V1 + [3] V2 + [0] 597.44/151.25 = [U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [U22^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [0] 597.44/151.25 >= [1] V2 + [0] 597.44/151.25 = [isPalListKind^#(activate(V2))] 597.44/151.25 597.44/151.25 [U22^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [0] 597.44/151.25 >= [3] V1 + [3] V2 + [0] 597.44/151.25 = [U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [U23^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [0] 597.44/151.25 >= [1] V2 + [0] 597.44/151.25 = [isPalListKind^#(activate(V2))] 597.44/151.25 597.44/151.25 [U23^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [0] 597.44/151.25 >= [3] V1 + [3] V2 + [0] 597.44/151.25 = [U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.25 597.44/151.25 [U24^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [0] 597.44/151.25 >= [3] V2 + [0] 597.44/151.25 = [U25^#(isList(activate(V1)), activate(V2))] 597.44/151.25 597.44/151.25 [U24^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [0] 597.44/151.25 >= [3] V1 + [0] 597.44/151.25 = [isList^#(activate(V1))] 597.44/151.25 597.44/151.25 [U25^#(tt(), V2)] = [3] V2 + [0] 597.44/151.25 >= [3] V2 + [0] 597.44/151.25 = [isList^#(activate(V2))] 597.44/151.25 597.44/151.25 [isList^#(V)] = [3] V + [0] 597.44/151.25 >= [3] V + [0] 597.44/151.25 = [U11^#(isPalListKind(activate(V)), activate(V))] 597.44/151.25 597.44/151.25 [isList^#(V)] = [3] V + [0] 597.44/151.26 >= [1] V + [0] 597.44/151.26 = [isPalListKind^#(activate(V))] 597.44/151.26 597.44/151.26 [isList^#(n____(V1, V2))] = [3] V1 + [3] V2 + [12] 597.44/151.26 > [1] V1 + [0] 597.44/151.26 = [isPalListKind^#(activate(V1))] 597.44/151.26 597.44/151.26 [isList^#(n____(V1, V2))] = [3] V1 + [3] V2 + [12] 597.44/151.26 > [3] V1 + [3] V2 + [0] 597.44/151.26 = [U21^#(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.44/151.26 597.44/151.26 [U42^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [0] 597.44/151.26 >= [1] V2 + [0] 597.44/151.26 = [isPalListKind^#(activate(V2))] 597.44/151.26 597.44/151.26 [U42^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [0] 597.44/151.26 >= [3] V1 + [3] V2 + [0] 597.44/151.26 = [U43^#(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.26 597.44/151.26 [U43^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [0] 597.44/151.26 >= [1] V2 + [0] 597.44/151.26 = [isPalListKind^#(activate(V2))] 597.44/151.26 597.44/151.26 [U43^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [0] 597.44/151.26 >= [3] V1 + [3] V2 + [0] 597.44/151.26 = [U44^#(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.26 597.44/151.26 [U44^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [0] 597.44/151.26 >= [3] V1 + [0] 597.44/151.26 = [isList^#(activate(V1))] 597.44/151.26 597.44/151.26 [U44^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [0] 597.44/151.26 >= [3] V2 + [0] 597.44/151.26 = [U45^#(isList(activate(V1)), activate(V2))] 597.44/151.26 597.44/151.26 [U45^#(tt(), V2)] = [3] V2 + [0] 597.44/151.26 >= [3] V2 + [0] 597.44/151.26 = [isNeList^#(activate(V2))] 597.44/151.26 597.44/151.26 [U52^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [4] 597.44/151.26 > [1] V2 + [0] 597.44/151.26 = [isPalListKind^#(activate(V2))] 597.44/151.26 597.44/151.26 [U52^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [4] 597.44/151.26 >= [3] V1 + [3] V2 + [4] 597.44/151.26 = [U53^#(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.26 597.44/151.26 [U53^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [4] 597.44/151.26 > [1] V2 + [0] 597.44/151.26 = [isPalListKind^#(activate(V2))] 597.44/151.26 597.44/151.26 [U53^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [4] 597.44/151.26 > [3] V1 + [3] V2 + [0] 597.44/151.26 = [U54^#(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.44/151.26 597.44/151.26 [U54^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [0] 597.44/151.26 >= [3] V1 + [0] 597.44/151.26 = [isNeList^#(activate(V1))] 597.44/151.26 597.44/151.26 [U54^#(tt(), V1, V2)] = [3] V1 + [3] V2 + [0] 597.44/151.26 >= [3] V2 + [0] 597.44/151.26 = [U55^#(isNeList(activate(V1)), activate(V2))] 597.44/151.26 597.44/151.26 [U55^#(tt(), V2)] = [3] V2 + [0] 597.44/151.26 >= [3] V2 + [0] 597.44/151.26 = [isList^#(activate(V2))] 597.44/151.26 597.44/151.26 [U61^#(tt(), V)] = [1] V + [4] 597.44/151.26 > [1] V + [0] 597.44/151.26 = [isPalListKind^#(activate(V))] 597.44/151.26 597.44/151.26 [U71^#(tt(), I, P)] = [7] I + [7] P + [5] 597.44/151.26 > [1] I + [0] 597.44/151.26 = [isPalListKind^#(activate(I))] 597.44/151.26 597.44/151.26 [U71^#(tt(), I, P)] = [7] I + [7] P + [5] 597.44/151.26 > [4] P + [4] 597.44/151.26 = [U72^#(isPalListKind(activate(I)), activate(P))] 597.44/151.26 597.44/151.26 [U72^#(tt(), P)] = [4] P + [4] 597.44/151.26 > [4] P + [0] 597.44/151.26 = [U73^#(isPal(activate(P)), activate(P))] 597.44/151.26 597.44/151.26 [U72^#(tt(), P)] = [4] P + [4] 597.44/151.26 >= [1] P + [4] 597.44/151.26 = [isPal^#(activate(P))] 597.44/151.26 597.44/151.26 [U73^#(tt(), P)] = [4] P + [0] 597.44/151.26 >= [1] P + [0] 597.44/151.26 = [isPalListKind^#(activate(P))] 597.44/151.26 597.44/151.26 [isPal^#(V)] = [1] V + [4] 597.44/151.26 > [1] V + [0] 597.44/151.26 = [isPalListKind^#(activate(V))] 597.44/151.26 597.44/151.26 [isPal^#(V)] = [1] V + [4] 597.44/151.26 >= [1] V + [4] 597.44/151.26 = [U81^#(isPalListKind(activate(V)), activate(V))] 597.44/151.26 597.44/151.26 [U81^#(tt(), V)] = [1] V + [4] 597.44/151.26 > [1] V + [0] 597.44/151.26 = [isPalListKind^#(activate(V))] 597.44/151.26 597.44/151.26 [U81^#(tt(), V)] = [1] V + [4] 597.44/151.26 >= [1] V + [4] 597.44/151.26 = [U82^#(isPalListKind(activate(V)), activate(V))] 597.44/151.26 597.44/151.26 [U82^#(tt(), V)] = [1] V + [4] 597.44/151.26 >= [1] V + [4] 597.44/151.26 = [isNePal^#(activate(V))] 597.44/151.26 597.44/151.26 [isNePal^#(V)] = [1] V + [4] 597.44/151.26 > [1] V + [0] 597.44/151.26 = [isPalListKind^#(activate(V))] 597.44/151.26 597.44/151.26 [isNePal^#(V)] = [1] V + [4] 597.44/151.26 >= [1] V + [4] 597.44/151.26 = [U61^#(isPalListKind(activate(V)), activate(V))] 597.44/151.26 597.44/151.26 597.44/151.26 We return to the main proof. Consider the set of all dependency 597.44/151.26 pairs 597.44/151.26 597.44/151.26 : 597.44/151.26 { 1: isPalListKind^#(n____(V1, V2)) -> 597.44/151.26 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.44/151.26 isPalListKind^#(activate(V1))) 597.44/151.26 , 2: U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.44/151.26 , 3: U11^#(tt(), V) -> 597.44/151.26 U12^#(isPalListKind(activate(V)), activate(V)) 597.44/151.26 , 4: U11^#(tt(), V) -> isPalListKind^#(activate(V)) 597.44/151.26 , 5: U12^#(tt(), V) -> isNeList^#(activate(V)) 597.44/151.26 , 6: isNeList^#(V) -> 597.44/151.26 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.44/151.26 isPalListKind^#(activate(V))) 597.44/151.26 , 7: isNeList^#(n____(V1, V2)) -> isPalListKind^#(activate(V1)) 597.44/151.26 , 8: isNeList^#(n____(V1, V2)) -> 597.44/151.26 U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.26 , 9: isNeList^#(n____(V1, V2)) -> 597.44/151.26 U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.26 , 10: U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.44/151.26 , 11: U41^#(tt(), V1, V2) -> isPalListKind^#(activate(V1)) 597.44/151.26 , 12: U41^#(tt(), V1, V2) -> 597.44/151.26 U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.26 , 13: U51^#(tt(), V1, V2) -> isPalListKind^#(activate(V1)) 597.44/151.26 , 14: U51^#(tt(), V1, V2) -> 597.44/151.26 U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.26 , 15: U21^#(tt(), V1, V2) -> isPalListKind^#(activate(V1)) 597.44/151.26 , 16: U21^#(tt(), V1, V2) -> 597.44/151.26 U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.26 , 17: U22^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.26 , 18: U22^#(tt(), V1, V2) -> 597.44/151.26 U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.26 , 19: U23^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.26 , 20: U23^#(tt(), V1, V2) -> 597.44/151.26 U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.26 , 21: U24^#(tt(), V1, V2) -> 597.44/151.26 U25^#(isList(activate(V1)), activate(V2)) 597.44/151.26 , 22: U24^#(tt(), V1, V2) -> isList^#(activate(V1)) 597.44/151.26 , 23: U25^#(tt(), V2) -> isList^#(activate(V2)) 597.44/151.26 , 24: isList^#(V) -> U11^#(isPalListKind(activate(V)), activate(V)) 597.44/151.26 , 25: isList^#(V) -> isPalListKind^#(activate(V)) 597.44/151.26 , 26: isList^#(n____(V1, V2)) -> isPalListKind^#(activate(V1)) 597.44/151.26 , 27: isList^#(n____(V1, V2)) -> 597.44/151.26 U21^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.26 , 28: U42^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.26 , 29: U42^#(tt(), V1, V2) -> 597.44/151.26 U43^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.26 , 30: U43^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.26 , 31: U43^#(tt(), V1, V2) -> 597.44/151.26 U44^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.26 , 32: U44^#(tt(), V1, V2) -> isList^#(activate(V1)) 597.44/151.26 , 33: U44^#(tt(), V1, V2) -> 597.44/151.26 U45^#(isList(activate(V1)), activate(V2)) 597.44/151.26 , 34: U45^#(tt(), V2) -> isNeList^#(activate(V2)) 597.44/151.26 , 35: U52^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.26 , 36: U52^#(tt(), V1, V2) -> 597.44/151.26 U53^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.26 , 37: U53^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.26 , 38: U53^#(tt(), V1, V2) -> 597.44/151.26 U54^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.26 , 39: U54^#(tt(), V1, V2) -> isNeList^#(activate(V1)) 597.44/151.26 , 40: U54^#(tt(), V1, V2) -> 597.44/151.26 U55^#(isNeList(activate(V1)), activate(V2)) 597.44/151.26 , 41: U55^#(tt(), V2) -> isList^#(activate(V2)) 597.44/151.26 , 42: U61^#(tt(), V) -> isPalListKind^#(activate(V)) 597.44/151.26 , 43: U71^#(tt(), I, P) -> isPalListKind^#(activate(I)) 597.44/151.26 , 44: U71^#(tt(), I, P) -> 597.44/151.26 U72^#(isPalListKind(activate(I)), activate(P)) 597.44/151.26 , 45: U72^#(tt(), P) -> U73^#(isPal(activate(P)), activate(P)) 597.44/151.26 , 46: U72^#(tt(), P) -> isPal^#(activate(P)) 597.44/151.26 , 47: U73^#(tt(), P) -> isPalListKind^#(activate(P)) 597.44/151.26 , 48: isPal^#(V) -> isPalListKind^#(activate(V)) 597.44/151.26 , 49: isPal^#(V) -> U81^#(isPalListKind(activate(V)), activate(V)) 597.44/151.26 , 50: U81^#(tt(), V) -> isPalListKind^#(activate(V)) 597.44/151.26 , 51: U81^#(tt(), V) -> 597.44/151.26 U82^#(isPalListKind(activate(V)), activate(V)) 597.44/151.26 , 52: U82^#(tt(), V) -> isNePal^#(activate(V)) 597.44/151.26 , 53: isNePal^#(V) -> isPalListKind^#(activate(V)) 597.44/151.26 , 54: isNePal^#(V) -> 597.44/151.26 U61^#(isPalListKind(activate(V)), activate(V)) } 597.44/151.26 597.44/151.26 Processor 'matrix interpretation of dimension 1' induces the 597.44/151.26 complexity certificate YES(?,O(n^1)) on application of dependency 597.44/151.26 pairs {1,7,8,9,11,12,13,26,27,35,37,38,42,43,44,45,48,50,53}. These 597.44/151.26 cover all (indirect) predecessors of dependency pairs 597.44/151.26 {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54}, 597.44/151.26 their number of application is equally bounded. The dependency 597.44/151.26 pairs are shifted into the weak component. 597.44/151.26 597.44/151.26 We are left with following problem, upon which TcT provides the 597.44/151.26 certificate YES(O(1),O(1)). 597.44/151.26 597.44/151.26 Weak DPs: 597.44/151.26 { U11^#(tt(), V) -> U12^#(isPalListKind(activate(V)), activate(V)) 597.44/151.26 , U11^#(tt(), V) -> isPalListKind^#(activate(V)) 597.44/151.26 , U12^#(tt(), V) -> isNeList^#(activate(V)) 597.44/151.26 , isPalListKind^#(n____(V1, V2)) -> 597.44/151.26 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.44/151.26 isPalListKind^#(activate(V1))) 597.44/151.26 , isNeList^#(V) -> 597.44/151.26 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.44/151.26 isPalListKind^#(activate(V))) 597.44/151.26 , isNeList^#(n____(V1, V2)) -> isPalListKind^#(activate(V1)) 597.44/151.26 , isNeList^#(n____(V1, V2)) -> 597.44/151.26 U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.26 , isNeList^#(n____(V1, V2)) -> 597.44/151.26 U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.26 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.44/151.26 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.44/151.26 , U41^#(tt(), V1, V2) -> isPalListKind^#(activate(V1)) 597.44/151.26 , U41^#(tt(), V1, V2) -> 597.44/151.26 U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.26 , U51^#(tt(), V1, V2) -> isPalListKind^#(activate(V1)) 597.44/151.26 , U51^#(tt(), V1, V2) -> 597.44/151.26 U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.26 , U21^#(tt(), V1, V2) -> isPalListKind^#(activate(V1)) 597.44/151.26 , U21^#(tt(), V1, V2) -> 597.44/151.26 U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.26 , U22^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.26 , U22^#(tt(), V1, V2) -> 597.44/151.26 U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.26 , U23^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.26 , U23^#(tt(), V1, V2) -> 597.44/151.26 U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.26 , U24^#(tt(), V1, V2) -> U25^#(isList(activate(V1)), activate(V2)) 597.44/151.26 , U24^#(tt(), V1, V2) -> isList^#(activate(V1)) 597.44/151.26 , U25^#(tt(), V2) -> isList^#(activate(V2)) 597.44/151.26 , isList^#(V) -> U11^#(isPalListKind(activate(V)), activate(V)) 597.44/151.26 , isList^#(V) -> isPalListKind^#(activate(V)) 597.44/151.26 , isList^#(n____(V1, V2)) -> isPalListKind^#(activate(V1)) 597.44/151.26 , isList^#(n____(V1, V2)) -> 597.44/151.26 U21^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.26 , U42^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.26 , U42^#(tt(), V1, V2) -> 597.44/151.26 U43^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.26 , U43^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.26 , U43^#(tt(), V1, V2) -> 597.44/151.26 U44^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.26 , U44^#(tt(), V1, V2) -> isList^#(activate(V1)) 597.44/151.26 , U44^#(tt(), V1, V2) -> U45^#(isList(activate(V1)), activate(V2)) 597.44/151.26 , U45^#(tt(), V2) -> isNeList^#(activate(V2)) 597.44/151.26 , U52^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.26 , U52^#(tt(), V1, V2) -> 597.44/151.26 U53^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.26 , U53^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.26 , U53^#(tt(), V1, V2) -> 597.44/151.26 U54^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.26 , U54^#(tt(), V1, V2) -> isNeList^#(activate(V1)) 597.44/151.26 , U54^#(tt(), V1, V2) -> 597.44/151.26 U55^#(isNeList(activate(V1)), activate(V2)) 597.44/151.26 , U55^#(tt(), V2) -> isList^#(activate(V2)) 597.44/151.26 , U61^#(tt(), V) -> isPalListKind^#(activate(V)) 597.44/151.26 , U71^#(tt(), I, P) -> isPalListKind^#(activate(I)) 597.44/151.26 , U71^#(tt(), I, P) -> 597.44/151.26 U72^#(isPalListKind(activate(I)), activate(P)) 597.44/151.26 , U72^#(tt(), P) -> U73^#(isPal(activate(P)), activate(P)) 597.44/151.26 , U72^#(tt(), P) -> isPal^#(activate(P)) 597.44/151.26 , U73^#(tt(), P) -> isPalListKind^#(activate(P)) 597.44/151.26 , isPal^#(V) -> isPalListKind^#(activate(V)) 597.44/151.26 , isPal^#(V) -> U81^#(isPalListKind(activate(V)), activate(V)) 597.44/151.26 , U81^#(tt(), V) -> isPalListKind^#(activate(V)) 597.44/151.26 , U81^#(tt(), V) -> U82^#(isPalListKind(activate(V)), activate(V)) 597.44/151.26 , U82^#(tt(), V) -> isNePal^#(activate(V)) 597.44/151.26 , isNePal^#(V) -> isPalListKind^#(activate(V)) 597.44/151.26 , isNePal^#(V) -> U61^#(isPalListKind(activate(V)), activate(V)) } 597.44/151.26 Weak Trs: 597.44/151.26 { __(X1, X2) -> n____(X1, X2) 597.44/151.26 , nil() -> n__nil() 597.44/151.26 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.44/151.26 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.44/151.26 , isPalListKind(n__nil()) -> tt() 597.44/151.26 , isPalListKind(n____(V1, V2)) -> 597.44/151.26 U91(isPalListKind(activate(V1)), activate(V2)) 597.44/151.26 , isPalListKind(n__a()) -> tt() 597.44/151.26 , isPalListKind(n__e()) -> tt() 597.44/151.26 , isPalListKind(n__i()) -> tt() 597.44/151.26 , isPalListKind(n__o()) -> tt() 597.44/151.26 , isPalListKind(n__u()) -> tt() 597.44/151.26 , activate(X) -> X 597.44/151.26 , activate(n__nil()) -> nil() 597.44/151.26 , activate(n____(X1, X2)) -> __(X1, X2) 597.44/151.26 , activate(n__a()) -> a() 597.44/151.26 , activate(n__e()) -> e() 597.44/151.26 , activate(n__i()) -> i() 597.44/151.26 , activate(n__o()) -> o() 597.44/151.26 , activate(n__u()) -> u() 597.44/151.26 , U13(tt()) -> tt() 597.44/151.26 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.44/151.26 , isNeList(n____(V1, V2)) -> 597.44/151.26 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.26 , isNeList(n____(V1, V2)) -> 597.44/151.26 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.26 , U21(tt(), V1, V2) -> 597.44/151.26 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.26 , U22(tt(), V1, V2) -> 597.44/151.26 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.26 , U23(tt(), V1, V2) -> 597.44/151.26 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.26 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.44/151.26 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.44/151.26 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.44/151.26 , isList(n__nil()) -> tt() 597.44/151.26 , isList(n____(V1, V2)) -> 597.44/151.27 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.27 , U26(tt()) -> tt() 597.44/151.27 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , U32(tt(), V) -> U33(isQid(activate(V))) 597.44/151.27 , U33(tt()) -> tt() 597.44/151.27 , isQid(n__a()) -> tt() 597.44/151.27 , isQid(n__e()) -> tt() 597.44/151.27 , isQid(n__i()) -> tt() 597.44/151.27 , isQid(n__o()) -> tt() 597.44/151.27 , isQid(n__u()) -> tt() 597.44/151.27 , U41(tt(), V1, V2) -> 597.44/151.27 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.27 , U42(tt(), V1, V2) -> 597.44/151.27 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.27 , U43(tt(), V1, V2) -> 597.44/151.27 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.27 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.44/151.27 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.44/151.27 , U46(tt()) -> tt() 597.44/151.27 , U51(tt(), V1, V2) -> 597.44/151.27 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.27 , U52(tt(), V1, V2) -> 597.44/151.27 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.27 , U53(tt(), V1, V2) -> 597.44/151.27 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.27 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.44/151.27 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.44/151.27 , U56(tt()) -> tt() 597.44/151.27 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , U62(tt(), V) -> U63(isQid(activate(V))) 597.44/151.27 , U63(tt()) -> tt() 597.44/151.27 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , isPal(n__nil()) -> tt() 597.44/151.27 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.44/151.27 , U83(tt()) -> tt() 597.44/151.27 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.44/151.27 , U92(tt()) -> tt() 597.44/151.27 , a() -> n__a() 597.44/151.27 , e() -> n__e() 597.44/151.27 , i() -> n__i() 597.44/151.27 , o() -> n__o() 597.44/151.27 , u() -> n__u() } 597.44/151.27 Obligation: 597.44/151.27 innermost runtime complexity 597.44/151.27 Answer: 597.44/151.27 YES(O(1),O(1)) 597.44/151.27 597.44/151.27 The following weak DPs constitute a sub-graph of the DG that is 597.44/151.27 closed under successors. The DPs are removed. 597.44/151.27 597.44/151.27 { U11^#(tt(), V) -> U12^#(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , U11^#(tt(), V) -> isPalListKind^#(activate(V)) 597.44/151.27 , U12^#(tt(), V) -> isNeList^#(activate(V)) 597.44/151.27 , isPalListKind^#(n____(V1, V2)) -> 597.44/151.27 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.44/151.27 isPalListKind^#(activate(V1))) 597.44/151.27 , isNeList^#(V) -> 597.44/151.27 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.44/151.27 isPalListKind^#(activate(V))) 597.44/151.27 , isNeList^#(n____(V1, V2)) -> isPalListKind^#(activate(V1)) 597.44/151.27 , isNeList^#(n____(V1, V2)) -> 597.44/151.27 U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.27 , isNeList^#(n____(V1, V2)) -> 597.44/151.27 U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.27 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.44/151.27 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.44/151.27 , U41^#(tt(), V1, V2) -> isPalListKind^#(activate(V1)) 597.44/151.27 , U41^#(tt(), V1, V2) -> 597.44/151.27 U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.27 , U51^#(tt(), V1, V2) -> isPalListKind^#(activate(V1)) 597.44/151.27 , U51^#(tt(), V1, V2) -> 597.44/151.27 U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.27 , U21^#(tt(), V1, V2) -> isPalListKind^#(activate(V1)) 597.44/151.27 , U21^#(tt(), V1, V2) -> 597.44/151.27 U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.27 , U22^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.27 , U22^#(tt(), V1, V2) -> 597.44/151.27 U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.27 , U23^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.27 , U23^#(tt(), V1, V2) -> 597.44/151.27 U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.27 , U24^#(tt(), V1, V2) -> U25^#(isList(activate(V1)), activate(V2)) 597.44/151.27 , U24^#(tt(), V1, V2) -> isList^#(activate(V1)) 597.44/151.27 , U25^#(tt(), V2) -> isList^#(activate(V2)) 597.44/151.27 , isList^#(V) -> U11^#(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , isList^#(V) -> isPalListKind^#(activate(V)) 597.44/151.27 , isList^#(n____(V1, V2)) -> isPalListKind^#(activate(V1)) 597.44/151.27 , isList^#(n____(V1, V2)) -> 597.44/151.27 U21^#(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.27 , U42^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.27 , U42^#(tt(), V1, V2) -> 597.44/151.27 U43^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.27 , U43^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.27 , U43^#(tt(), V1, V2) -> 597.44/151.27 U44^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.27 , U44^#(tt(), V1, V2) -> isList^#(activate(V1)) 597.44/151.27 , U44^#(tt(), V1, V2) -> U45^#(isList(activate(V1)), activate(V2)) 597.44/151.27 , U45^#(tt(), V2) -> isNeList^#(activate(V2)) 597.44/151.27 , U52^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.27 , U52^#(tt(), V1, V2) -> 597.44/151.27 U53^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.27 , U53^#(tt(), V1, V2) -> isPalListKind^#(activate(V2)) 597.44/151.27 , U53^#(tt(), V1, V2) -> 597.44/151.27 U54^#(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.27 , U54^#(tt(), V1, V2) -> isNeList^#(activate(V1)) 597.44/151.27 , U54^#(tt(), V1, V2) -> 597.44/151.27 U55^#(isNeList(activate(V1)), activate(V2)) 597.44/151.27 , U55^#(tt(), V2) -> isList^#(activate(V2)) 597.44/151.27 , U61^#(tt(), V) -> isPalListKind^#(activate(V)) 597.44/151.27 , U71^#(tt(), I, P) -> isPalListKind^#(activate(I)) 597.44/151.27 , U71^#(tt(), I, P) -> 597.44/151.27 U72^#(isPalListKind(activate(I)), activate(P)) 597.44/151.27 , U72^#(tt(), P) -> U73^#(isPal(activate(P)), activate(P)) 597.44/151.27 , U72^#(tt(), P) -> isPal^#(activate(P)) 597.44/151.27 , U73^#(tt(), P) -> isPalListKind^#(activate(P)) 597.44/151.27 , isPal^#(V) -> isPalListKind^#(activate(V)) 597.44/151.27 , isPal^#(V) -> U81^#(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , U81^#(tt(), V) -> isPalListKind^#(activate(V)) 597.44/151.27 , U81^#(tt(), V) -> U82^#(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , U82^#(tt(), V) -> isNePal^#(activate(V)) 597.44/151.27 , isNePal^#(V) -> isPalListKind^#(activate(V)) 597.44/151.27 , isNePal^#(V) -> U61^#(isPalListKind(activate(V)), activate(V)) } 597.44/151.27 597.44/151.27 We are left with following problem, upon which TcT provides the 597.44/151.27 certificate YES(O(1),O(1)). 597.44/151.27 597.44/151.27 Weak Trs: 597.44/151.27 { __(X1, X2) -> n____(X1, X2) 597.44/151.27 , nil() -> n__nil() 597.44/151.27 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.44/151.27 , isPalListKind(n__nil()) -> tt() 597.44/151.27 , isPalListKind(n____(V1, V2)) -> 597.44/151.27 U91(isPalListKind(activate(V1)), activate(V2)) 597.44/151.27 , isPalListKind(n__a()) -> tt() 597.44/151.27 , isPalListKind(n__e()) -> tt() 597.44/151.27 , isPalListKind(n__i()) -> tt() 597.44/151.27 , isPalListKind(n__o()) -> tt() 597.44/151.27 , isPalListKind(n__u()) -> tt() 597.44/151.27 , activate(X) -> X 597.44/151.27 , activate(n__nil()) -> nil() 597.44/151.27 , activate(n____(X1, X2)) -> __(X1, X2) 597.44/151.27 , activate(n__a()) -> a() 597.44/151.27 , activate(n__e()) -> e() 597.44/151.27 , activate(n__i()) -> i() 597.44/151.27 , activate(n__o()) -> o() 597.44/151.27 , activate(n__u()) -> u() 597.44/151.27 , U13(tt()) -> tt() 597.44/151.27 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , isNeList(n____(V1, V2)) -> 597.44/151.27 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.27 , isNeList(n____(V1, V2)) -> 597.44/151.27 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.27 , U21(tt(), V1, V2) -> 597.44/151.27 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.27 , U22(tt(), V1, V2) -> 597.44/151.27 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.27 , U23(tt(), V1, V2) -> 597.44/151.27 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.27 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.44/151.27 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.44/151.27 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , isList(n__nil()) -> tt() 597.44/151.27 , isList(n____(V1, V2)) -> 597.44/151.27 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.27 , U26(tt()) -> tt() 597.44/151.27 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , U32(tt(), V) -> U33(isQid(activate(V))) 597.44/151.27 , U33(tt()) -> tt() 597.44/151.27 , isQid(n__a()) -> tt() 597.44/151.27 , isQid(n__e()) -> tt() 597.44/151.27 , isQid(n__i()) -> tt() 597.44/151.27 , isQid(n__o()) -> tt() 597.44/151.27 , isQid(n__u()) -> tt() 597.44/151.27 , U41(tt(), V1, V2) -> 597.44/151.27 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.27 , U42(tt(), V1, V2) -> 597.44/151.27 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.27 , U43(tt(), V1, V2) -> 597.44/151.27 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.27 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.44/151.27 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.44/151.27 , U46(tt()) -> tt() 597.44/151.27 , U51(tt(), V1, V2) -> 597.44/151.27 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.27 , U52(tt(), V1, V2) -> 597.44/151.27 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.27 , U53(tt(), V1, V2) -> 597.44/151.27 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.27 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.44/151.27 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.44/151.27 , U56(tt()) -> tt() 597.44/151.27 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , U62(tt(), V) -> U63(isQid(activate(V))) 597.44/151.27 , U63(tt()) -> tt() 597.44/151.27 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , isPal(n__nil()) -> tt() 597.44/151.27 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.44/151.27 , U83(tt()) -> tt() 597.44/151.27 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.44/151.27 , U92(tt()) -> tt() 597.44/151.27 , a() -> n__a() 597.44/151.27 , e() -> n__e() 597.44/151.27 , i() -> n__i() 597.44/151.27 , o() -> n__o() 597.44/151.27 , u() -> n__u() } 597.44/151.27 Obligation: 597.44/151.27 innermost runtime complexity 597.44/151.27 Answer: 597.44/151.27 YES(O(1),O(1)) 597.44/151.27 597.44/151.27 No rule is usable, rules are removed from the input problem. 597.44/151.27 597.44/151.27 We are left with following problem, upon which TcT provides the 597.44/151.27 certificate YES(O(1),O(1)). 597.44/151.27 597.44/151.27 Rules: Empty 597.44/151.27 Obligation: 597.44/151.27 innermost runtime complexity 597.44/151.27 Answer: 597.44/151.27 YES(O(1),O(1)) 597.44/151.27 597.44/151.27 Empty rules are trivially bounded 597.44/151.27 597.44/151.27 S) We are left with following problem, upon which TcT provides the 597.44/151.27 certificate YES(O(1),O(1)). 597.44/151.27 597.44/151.27 Strict DPs: 597.44/151.27 { U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.44/151.27 , isPal^#(V) -> 597.44/151.27 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.44/151.27 isPalListKind^#(activate(V))) 597.44/151.27 , U81^#(tt(), V) -> 597.44/151.27 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.44/151.27 isPalListKind^#(activate(V))) 597.44/151.27 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.44/151.27 , isNePal^#(V) -> 597.44/151.27 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.44/151.27 isPalListKind^#(activate(V))) } 597.44/151.27 Weak DPs: 597.44/151.27 { U11^#(tt(), V) -> 597.44/151.27 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.44/151.27 isPalListKind^#(activate(V))) 597.44/151.27 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.44/151.27 , isPalListKind^#(n____(V1, V2)) -> 597.44/151.27 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.44/151.27 isPalListKind^#(activate(V1))) 597.44/151.27 , isNeList^#(V) -> 597.44/151.27 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.44/151.27 isPalListKind^#(activate(V))) 597.44/151.27 , isNeList^#(n____(V1, V2)) -> 597.44/151.27 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.27 isPalListKind^#(activate(V1))) 597.44/151.27 , isNeList^#(n____(V1, V2)) -> 597.44/151.27 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.27 isPalListKind^#(activate(V1))) 597.44/151.27 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.44/151.27 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.44/151.27 , U41^#(tt(), V1, V2) -> 597.44/151.27 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.27 isPalListKind^#(activate(V1))) 597.44/151.27 , U51^#(tt(), V1, V2) -> 597.44/151.27 c_10(U52^#(isPalListKind(activate(V1)), 597.44/151.27 activate(V1), 597.44/151.27 activate(V2)), 597.44/151.27 isPalListKind^#(activate(V1))) 597.44/151.27 , U21^#(tt(), V1, V2) -> 597.44/151.27 c_11(U22^#(isPalListKind(activate(V1)), 597.44/151.27 activate(V1), 597.44/151.27 activate(V2)), 597.44/151.27 isPalListKind^#(activate(V1))) 597.44/151.27 , U22^#(tt(), V1, V2) -> 597.44/151.27 c_12(U23^#(isPalListKind(activate(V2)), 597.44/151.27 activate(V1), 597.44/151.27 activate(V2)), 597.44/151.27 isPalListKind^#(activate(V2))) 597.44/151.27 , U23^#(tt(), V1, V2) -> 597.44/151.27 c_13(U24^#(isPalListKind(activate(V2)), 597.44/151.27 activate(V1), 597.44/151.27 activate(V2)), 597.44/151.27 isPalListKind^#(activate(V2))) 597.44/151.27 , U24^#(tt(), V1, V2) -> 597.44/151.27 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.44/151.27 isList^#(activate(V1))) 597.44/151.27 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.44/151.27 , isList^#(V) -> 597.44/151.27 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.44/151.27 isPalListKind^#(activate(V))) 597.44/151.27 , isList^#(n____(V1, V2)) -> 597.44/151.27 c_17(U21^#(isPalListKind(activate(V1)), 597.44/151.27 activate(V1), 597.44/151.27 activate(V2)), 597.44/151.27 isPalListKind^#(activate(V1))) 597.44/151.27 , U42^#(tt(), V1, V2) -> 597.44/151.27 c_18(U43^#(isPalListKind(activate(V2)), 597.44/151.27 activate(V1), 597.44/151.27 activate(V2)), 597.44/151.27 isPalListKind^#(activate(V2))) 597.44/151.27 , U43^#(tt(), V1, V2) -> 597.44/151.27 c_19(U44^#(isPalListKind(activate(V2)), 597.44/151.27 activate(V1), 597.44/151.27 activate(V2)), 597.44/151.27 isPalListKind^#(activate(V2))) 597.44/151.27 , U44^#(tt(), V1, V2) -> 597.44/151.27 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.44/151.27 isList^#(activate(V1))) 597.44/151.27 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.44/151.27 , U52^#(tt(), V1, V2) -> 597.44/151.27 c_22(U53^#(isPalListKind(activate(V2)), 597.44/151.27 activate(V1), 597.44/151.27 activate(V2)), 597.44/151.27 isPalListKind^#(activate(V2))) 597.44/151.27 , U53^#(tt(), V1, V2) -> 597.44/151.27 c_23(U54^#(isPalListKind(activate(V2)), 597.44/151.27 activate(V1), 597.44/151.27 activate(V2)), 597.44/151.27 isPalListKind^#(activate(V2))) 597.44/151.27 , U54^#(tt(), V1, V2) -> 597.44/151.27 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.44/151.27 isNeList^#(activate(V1))) 597.44/151.27 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.44/151.27 , U71^#(tt(), I, P) -> 597.44/151.27 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.44/151.27 isPalListKind^#(activate(I))) 597.44/151.27 , U72^#(tt(), P) -> 597.44/151.27 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.44/151.27 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) } 597.44/151.27 Weak Trs: 597.44/151.27 { __(X1, X2) -> n____(X1, X2) 597.44/151.27 , nil() -> n__nil() 597.44/151.27 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.44/151.27 , isPalListKind(n__nil()) -> tt() 597.44/151.27 , isPalListKind(n____(V1, V2)) -> 597.44/151.27 U91(isPalListKind(activate(V1)), activate(V2)) 597.44/151.27 , isPalListKind(n__a()) -> tt() 597.44/151.27 , isPalListKind(n__e()) -> tt() 597.44/151.27 , isPalListKind(n__i()) -> tt() 597.44/151.27 , isPalListKind(n__o()) -> tt() 597.44/151.27 , isPalListKind(n__u()) -> tt() 597.44/151.27 , activate(X) -> X 597.44/151.27 , activate(n__nil()) -> nil() 597.44/151.27 , activate(n____(X1, X2)) -> __(X1, X2) 597.44/151.27 , activate(n__a()) -> a() 597.44/151.27 , activate(n__e()) -> e() 597.44/151.27 , activate(n__i()) -> i() 597.44/151.27 , activate(n__o()) -> o() 597.44/151.27 , activate(n__u()) -> u() 597.44/151.27 , U13(tt()) -> tt() 597.44/151.27 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.44/151.27 , isNeList(n____(V1, V2)) -> 597.44/151.27 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.27 , isNeList(n____(V1, V2)) -> 597.44/151.27 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.28 , U21(tt(), V1, V2) -> 597.44/151.28 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.28 , U22(tt(), V1, V2) -> 597.44/151.28 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.28 , U23(tt(), V1, V2) -> 597.44/151.28 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.28 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.44/151.28 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.44/151.28 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.44/151.28 , isList(n__nil()) -> tt() 597.44/151.28 , isList(n____(V1, V2)) -> 597.44/151.28 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.28 , U26(tt()) -> tt() 597.44/151.28 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.44/151.28 , U32(tt(), V) -> U33(isQid(activate(V))) 597.44/151.28 , U33(tt()) -> tt() 597.44/151.28 , isQid(n__a()) -> tt() 597.44/151.28 , isQid(n__e()) -> tt() 597.44/151.28 , isQid(n__i()) -> tt() 597.44/151.28 , isQid(n__o()) -> tt() 597.44/151.28 , isQid(n__u()) -> tt() 597.44/151.28 , U41(tt(), V1, V2) -> 597.44/151.28 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.28 , U42(tt(), V1, V2) -> 597.44/151.28 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.28 , U43(tt(), V1, V2) -> 597.44/151.28 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.28 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.44/151.28 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.44/151.28 , U46(tt()) -> tt() 597.44/151.28 , U51(tt(), V1, V2) -> 597.44/151.28 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.28 , U52(tt(), V1, V2) -> 597.44/151.28 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.28 , U53(tt(), V1, V2) -> 597.44/151.28 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.28 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.44/151.28 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.44/151.28 , U56(tt()) -> tt() 597.44/151.28 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.44/151.28 , U62(tt(), V) -> U63(isQid(activate(V))) 597.44/151.28 , U63(tt()) -> tt() 597.44/151.28 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.44/151.28 , isPal(n__nil()) -> tt() 597.44/151.28 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.44/151.28 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.44/151.28 , U83(tt()) -> tt() 597.44/151.28 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.44/151.28 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.44/151.28 , U92(tt()) -> tt() 597.44/151.28 , a() -> n__a() 597.44/151.28 , e() -> n__e() 597.44/151.28 , i() -> n__i() 597.44/151.28 , o() -> n__o() 597.44/151.28 , u() -> n__u() } 597.44/151.28 Obligation: 597.44/151.28 innermost runtime complexity 597.44/151.28 Answer: 597.44/151.28 YES(O(1),O(1)) 597.44/151.28 597.44/151.28 We estimate the number of application of {1} by applications of 597.44/151.28 Pre({1}) = {5}. Here rules are labeled as follows: 597.44/151.28 597.44/151.28 DPs: 597.44/151.28 { 1: U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.44/151.28 , 2: isPal^#(V) -> 597.44/151.28 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , 3: U81^#(tt(), V) -> 597.44/151.28 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , 4: U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.44/151.28 , 5: isNePal^#(V) -> 597.44/151.28 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , 6: U11^#(tt(), V) -> 597.44/151.28 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , 7: U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.44/151.28 , 8: isPalListKind^#(n____(V1, V2)) -> 597.44/151.28 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , 9: isNeList^#(V) -> 597.44/151.28 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , 10: isNeList^#(n____(V1, V2)) -> 597.44/151.28 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , 11: isNeList^#(n____(V1, V2)) -> 597.44/151.28 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , 12: U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.44/151.28 , 13: U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.44/151.28 , 14: U41^#(tt(), V1, V2) -> 597.44/151.28 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , 15: U51^#(tt(), V1, V2) -> 597.44/151.28 c_10(U52^#(isPalListKind(activate(V1)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , 16: U21^#(tt(), V1, V2) -> 597.44/151.28 c_11(U22^#(isPalListKind(activate(V1)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , 17: U22^#(tt(), V1, V2) -> 597.44/151.28 c_12(U23^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , 18: U23^#(tt(), V1, V2) -> 597.44/151.28 c_13(U24^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , 19: U24^#(tt(), V1, V2) -> 597.44/151.28 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.44/151.28 isList^#(activate(V1))) 597.44/151.28 , 20: U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.44/151.28 , 21: isList^#(V) -> 597.44/151.28 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , 22: isList^#(n____(V1, V2)) -> 597.44/151.28 c_17(U21^#(isPalListKind(activate(V1)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , 23: U42^#(tt(), V1, V2) -> 597.44/151.28 c_18(U43^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , 24: U43^#(tt(), V1, V2) -> 597.44/151.28 c_19(U44^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , 25: U44^#(tt(), V1, V2) -> 597.44/151.28 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.44/151.28 isList^#(activate(V1))) 597.44/151.28 , 26: U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.44/151.28 , 27: U52^#(tt(), V1, V2) -> 597.44/151.28 c_22(U53^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , 28: U53^#(tt(), V1, V2) -> 597.44/151.28 c_23(U54^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , 29: U54^#(tt(), V1, V2) -> 597.44/151.28 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.44/151.28 isNeList^#(activate(V1))) 597.44/151.28 , 30: U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.44/151.28 , 31: U71^#(tt(), I, P) -> 597.44/151.28 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.44/151.28 isPalListKind^#(activate(I))) 597.44/151.28 , 32: U72^#(tt(), P) -> 597.44/151.28 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.44/151.28 , 33: U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) } 597.44/151.28 597.44/151.28 We are left with following problem, upon which TcT provides the 597.44/151.28 certificate YES(O(1),O(1)). 597.44/151.28 597.44/151.28 Strict DPs: 597.44/151.28 { isPal^#(V) -> 597.44/151.28 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , U81^#(tt(), V) -> 597.44/151.28 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.44/151.28 , isNePal^#(V) -> 597.44/151.28 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) } 597.44/151.28 Weak DPs: 597.44/151.28 { U11^#(tt(), V) -> 597.44/151.28 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.44/151.28 , isPalListKind^#(n____(V1, V2)) -> 597.44/151.28 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , isNeList^#(V) -> 597.44/151.28 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , isNeList^#(n____(V1, V2)) -> 597.44/151.28 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , isNeList^#(n____(V1, V2)) -> 597.44/151.28 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.44/151.28 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.44/151.28 , U41^#(tt(), V1, V2) -> 597.44/151.28 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , U51^#(tt(), V1, V2) -> 597.44/151.28 c_10(U52^#(isPalListKind(activate(V1)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , U21^#(tt(), V1, V2) -> 597.44/151.28 c_11(U22^#(isPalListKind(activate(V1)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , U22^#(tt(), V1, V2) -> 597.44/151.28 c_12(U23^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , U23^#(tt(), V1, V2) -> 597.44/151.28 c_13(U24^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , U24^#(tt(), V1, V2) -> 597.44/151.28 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.44/151.28 isList^#(activate(V1))) 597.44/151.28 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.44/151.28 , isList^#(V) -> 597.44/151.28 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , isList^#(n____(V1, V2)) -> 597.44/151.28 c_17(U21^#(isPalListKind(activate(V1)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , U42^#(tt(), V1, V2) -> 597.44/151.28 c_18(U43^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , U43^#(tt(), V1, V2) -> 597.44/151.28 c_19(U44^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , U44^#(tt(), V1, V2) -> 597.44/151.28 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.44/151.28 isList^#(activate(V1))) 597.44/151.28 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.44/151.28 , U52^#(tt(), V1, V2) -> 597.44/151.28 c_22(U53^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , U53^#(tt(), V1, V2) -> 597.44/151.28 c_23(U54^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , U54^#(tt(), V1, V2) -> 597.44/151.28 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.44/151.28 isNeList^#(activate(V1))) 597.44/151.28 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.44/151.28 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.44/151.28 , U71^#(tt(), I, P) -> 597.44/151.28 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.44/151.28 isPalListKind^#(activate(I))) 597.44/151.28 , U72^#(tt(), P) -> 597.44/151.28 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.44/151.28 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) } 597.44/151.28 Weak Trs: 597.44/151.28 { __(X1, X2) -> n____(X1, X2) 597.44/151.28 , nil() -> n__nil() 597.44/151.28 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.44/151.28 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.44/151.28 , isPalListKind(n__nil()) -> tt() 597.44/151.28 , isPalListKind(n____(V1, V2)) -> 597.44/151.28 U91(isPalListKind(activate(V1)), activate(V2)) 597.44/151.28 , isPalListKind(n__a()) -> tt() 597.44/151.28 , isPalListKind(n__e()) -> tt() 597.44/151.28 , isPalListKind(n__i()) -> tt() 597.44/151.28 , isPalListKind(n__o()) -> tt() 597.44/151.28 , isPalListKind(n__u()) -> tt() 597.44/151.28 , activate(X) -> X 597.44/151.28 , activate(n__nil()) -> nil() 597.44/151.28 , activate(n____(X1, X2)) -> __(X1, X2) 597.44/151.28 , activate(n__a()) -> a() 597.44/151.28 , activate(n__e()) -> e() 597.44/151.28 , activate(n__i()) -> i() 597.44/151.28 , activate(n__o()) -> o() 597.44/151.28 , activate(n__u()) -> u() 597.44/151.28 , U13(tt()) -> tt() 597.44/151.28 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.44/151.28 , isNeList(n____(V1, V2)) -> 597.44/151.28 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.28 , isNeList(n____(V1, V2)) -> 597.44/151.28 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.28 , U21(tt(), V1, V2) -> 597.44/151.28 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.28 , U22(tt(), V1, V2) -> 597.44/151.28 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.28 , U23(tt(), V1, V2) -> 597.44/151.28 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.28 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.44/151.28 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.44/151.28 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.44/151.28 , isList(n__nil()) -> tt() 597.44/151.28 , isList(n____(V1, V2)) -> 597.44/151.28 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.28 , U26(tt()) -> tt() 597.44/151.28 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.44/151.28 , U32(tt(), V) -> U33(isQid(activate(V))) 597.44/151.28 , U33(tt()) -> tt() 597.44/151.28 , isQid(n__a()) -> tt() 597.44/151.28 , isQid(n__e()) -> tt() 597.44/151.28 , isQid(n__i()) -> tt() 597.44/151.28 , isQid(n__o()) -> tt() 597.44/151.28 , isQid(n__u()) -> tt() 597.44/151.28 , U41(tt(), V1, V2) -> 597.44/151.28 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.28 , U42(tt(), V1, V2) -> 597.44/151.28 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.28 , U43(tt(), V1, V2) -> 597.44/151.28 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.28 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.44/151.28 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.44/151.28 , U46(tt()) -> tt() 597.44/151.28 , U51(tt(), V1, V2) -> 597.44/151.28 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.28 , U52(tt(), V1, V2) -> 597.44/151.28 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.28 , U53(tt(), V1, V2) -> 597.44/151.28 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.28 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.44/151.28 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.44/151.28 , U56(tt()) -> tt() 597.44/151.28 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.44/151.28 , U62(tt(), V) -> U63(isQid(activate(V))) 597.44/151.28 , U63(tt()) -> tt() 597.44/151.28 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.44/151.28 , isPal(n__nil()) -> tt() 597.44/151.28 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.44/151.28 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.44/151.28 , U83(tt()) -> tt() 597.44/151.28 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.44/151.28 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.44/151.28 , U92(tt()) -> tt() 597.44/151.28 , a() -> n__a() 597.44/151.28 , e() -> n__e() 597.44/151.28 , i() -> n__i() 597.44/151.28 , o() -> n__o() 597.44/151.28 , u() -> n__u() } 597.44/151.28 Obligation: 597.44/151.28 innermost runtime complexity 597.44/151.28 Answer: 597.44/151.28 YES(O(1),O(1)) 597.44/151.28 597.44/151.28 We estimate the number of application of {4} by applications of 597.44/151.28 Pre({4}) = {3}. Here rules are labeled as follows: 597.44/151.28 597.44/151.28 DPs: 597.44/151.28 { 1: isPal^#(V) -> 597.44/151.28 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , 2: U81^#(tt(), V) -> 597.44/151.28 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , 3: U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.44/151.28 , 4: isNePal^#(V) -> 597.44/151.28 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , 5: U11^#(tt(), V) -> 597.44/151.28 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , 6: U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.44/151.28 , 7: isPalListKind^#(n____(V1, V2)) -> 597.44/151.28 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , 8: isNeList^#(V) -> 597.44/151.28 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , 9: isNeList^#(n____(V1, V2)) -> 597.44/151.28 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , 10: isNeList^#(n____(V1, V2)) -> 597.44/151.28 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , 11: U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.44/151.28 , 12: U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.44/151.28 , 13: U41^#(tt(), V1, V2) -> 597.44/151.28 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , 14: U51^#(tt(), V1, V2) -> 597.44/151.28 c_10(U52^#(isPalListKind(activate(V1)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , 15: U21^#(tt(), V1, V2) -> 597.44/151.28 c_11(U22^#(isPalListKind(activate(V1)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , 16: U22^#(tt(), V1, V2) -> 597.44/151.28 c_12(U23^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , 17: U23^#(tt(), V1, V2) -> 597.44/151.28 c_13(U24^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , 18: U24^#(tt(), V1, V2) -> 597.44/151.28 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.44/151.28 isList^#(activate(V1))) 597.44/151.28 , 19: U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.44/151.28 , 20: isList^#(V) -> 597.44/151.28 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , 21: isList^#(n____(V1, V2)) -> 597.44/151.28 c_17(U21^#(isPalListKind(activate(V1)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , 22: U42^#(tt(), V1, V2) -> 597.44/151.28 c_18(U43^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , 23: U43^#(tt(), V1, V2) -> 597.44/151.28 c_19(U44^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , 24: U44^#(tt(), V1, V2) -> 597.44/151.28 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.44/151.28 isList^#(activate(V1))) 597.44/151.28 , 25: U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.44/151.28 , 26: U52^#(tt(), V1, V2) -> 597.44/151.28 c_22(U53^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , 27: U53^#(tt(), V1, V2) -> 597.44/151.28 c_23(U54^#(isPalListKind(activate(V2)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V2))) 597.44/151.28 , 28: U54^#(tt(), V1, V2) -> 597.44/151.28 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.44/151.28 isNeList^#(activate(V1))) 597.44/151.28 , 29: U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.44/151.28 , 30: U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.44/151.28 , 31: U71^#(tt(), I, P) -> 597.44/151.28 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.44/151.28 isPalListKind^#(activate(I))) 597.44/151.28 , 32: U72^#(tt(), P) -> 597.44/151.28 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.44/151.28 , 33: U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) } 597.44/151.28 597.44/151.28 We are left with following problem, upon which TcT provides the 597.44/151.28 certificate YES(O(1),O(1)). 597.44/151.28 597.44/151.28 Strict DPs: 597.44/151.28 { isPal^#(V) -> 597.44/151.28 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , U81^#(tt(), V) -> 597.44/151.28 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) } 597.44/151.28 Weak DPs: 597.44/151.28 { U11^#(tt(), V) -> 597.44/151.28 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.44/151.28 , isPalListKind^#(n____(V1, V2)) -> 597.44/151.28 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , isNeList^#(V) -> 597.44/151.28 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.44/151.28 isPalListKind^#(activate(V))) 597.44/151.28 , isNeList^#(n____(V1, V2)) -> 597.44/151.28 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , isNeList^#(n____(V1, V2)) -> 597.44/151.28 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.44/151.28 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.44/151.28 , U41^#(tt(), V1, V2) -> 597.44/151.28 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , U51^#(tt(), V1, V2) -> 597.44/151.28 c_10(U52^#(isPalListKind(activate(V1)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , U21^#(tt(), V1, V2) -> 597.44/151.28 c_11(U22^#(isPalListKind(activate(V1)), 597.44/151.28 activate(V1), 597.44/151.28 activate(V2)), 597.44/151.28 isPalListKind^#(activate(V1))) 597.44/151.28 , U22^#(tt(), V1, V2) -> 597.44/151.28 c_12(U23^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , U23^#(tt(), V1, V2) -> 597.44/151.29 c_13(U24^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , U24^#(tt(), V1, V2) -> 597.44/151.29 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.44/151.29 isList^#(activate(V1))) 597.44/151.29 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.44/151.29 , isList^#(V) -> 597.44/151.29 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.44/151.29 isPalListKind^#(activate(V))) 597.44/151.29 , isList^#(n____(V1, V2)) -> 597.44/151.29 c_17(U21^#(isPalListKind(activate(V1)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V1))) 597.44/151.29 , U42^#(tt(), V1, V2) -> 597.44/151.29 c_18(U43^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , U43^#(tt(), V1, V2) -> 597.44/151.29 c_19(U44^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , U44^#(tt(), V1, V2) -> 597.44/151.29 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.44/151.29 isList^#(activate(V1))) 597.44/151.29 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.44/151.29 , U52^#(tt(), V1, V2) -> 597.44/151.29 c_22(U53^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , U53^#(tt(), V1, V2) -> 597.44/151.29 c_23(U54^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , U54^#(tt(), V1, V2) -> 597.44/151.29 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.44/151.29 isNeList^#(activate(V1))) 597.44/151.29 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.44/151.29 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.44/151.29 , U71^#(tt(), I, P) -> 597.44/151.29 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.44/151.29 isPalListKind^#(activate(I))) 597.44/151.29 , U72^#(tt(), P) -> 597.44/151.29 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.44/151.29 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.44/151.29 , isNePal^#(V) -> 597.44/151.29 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.44/151.29 isPalListKind^#(activate(V))) } 597.44/151.29 Weak Trs: 597.44/151.29 { __(X1, X2) -> n____(X1, X2) 597.44/151.29 , nil() -> n__nil() 597.44/151.29 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.44/151.29 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.44/151.29 , isPalListKind(n__nil()) -> tt() 597.44/151.29 , isPalListKind(n____(V1, V2)) -> 597.44/151.29 U91(isPalListKind(activate(V1)), activate(V2)) 597.44/151.29 , isPalListKind(n__a()) -> tt() 597.44/151.29 , isPalListKind(n__e()) -> tt() 597.44/151.29 , isPalListKind(n__i()) -> tt() 597.44/151.29 , isPalListKind(n__o()) -> tt() 597.44/151.29 , isPalListKind(n__u()) -> tt() 597.44/151.29 , activate(X) -> X 597.44/151.29 , activate(n__nil()) -> nil() 597.44/151.29 , activate(n____(X1, X2)) -> __(X1, X2) 597.44/151.29 , activate(n__a()) -> a() 597.44/151.29 , activate(n__e()) -> e() 597.44/151.29 , activate(n__i()) -> i() 597.44/151.29 , activate(n__o()) -> o() 597.44/151.29 , activate(n__u()) -> u() 597.44/151.29 , U13(tt()) -> tt() 597.44/151.29 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.44/151.29 , isNeList(n____(V1, V2)) -> 597.44/151.29 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.29 , isNeList(n____(V1, V2)) -> 597.44/151.29 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.29 , U21(tt(), V1, V2) -> 597.44/151.29 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.29 , U22(tt(), V1, V2) -> 597.44/151.29 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.29 , U23(tt(), V1, V2) -> 597.44/151.29 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.29 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.44/151.29 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.44/151.29 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.44/151.29 , isList(n__nil()) -> tt() 597.44/151.29 , isList(n____(V1, V2)) -> 597.44/151.29 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.29 , U26(tt()) -> tt() 597.44/151.29 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.44/151.29 , U32(tt(), V) -> U33(isQid(activate(V))) 597.44/151.29 , U33(tt()) -> tt() 597.44/151.29 , isQid(n__a()) -> tt() 597.44/151.29 , isQid(n__e()) -> tt() 597.44/151.29 , isQid(n__i()) -> tt() 597.44/151.29 , isQid(n__o()) -> tt() 597.44/151.29 , isQid(n__u()) -> tt() 597.44/151.29 , U41(tt(), V1, V2) -> 597.44/151.29 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.29 , U42(tt(), V1, V2) -> 597.44/151.29 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.29 , U43(tt(), V1, V2) -> 597.44/151.29 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.29 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.44/151.29 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.44/151.29 , U46(tt()) -> tt() 597.44/151.29 , U51(tt(), V1, V2) -> 597.44/151.29 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.29 , U52(tt(), V1, V2) -> 597.44/151.29 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.29 , U53(tt(), V1, V2) -> 597.44/151.29 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.44/151.29 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.44/151.29 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.44/151.29 , U56(tt()) -> tt() 597.44/151.29 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.44/151.29 , U62(tt(), V) -> U63(isQid(activate(V))) 597.44/151.29 , U63(tt()) -> tt() 597.44/151.29 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.44/151.29 , isPal(n__nil()) -> tt() 597.44/151.29 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.44/151.29 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.44/151.29 , U83(tt()) -> tt() 597.44/151.29 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.44/151.29 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.44/151.29 , U92(tt()) -> tt() 597.44/151.29 , a() -> n__a() 597.44/151.29 , e() -> n__e() 597.44/151.29 , i() -> n__i() 597.44/151.29 , o() -> n__o() 597.44/151.29 , u() -> n__u() } 597.44/151.29 Obligation: 597.44/151.29 innermost runtime complexity 597.44/151.29 Answer: 597.44/151.29 YES(O(1),O(1)) 597.44/151.29 597.44/151.29 We estimate the number of application of {3} by applications of 597.44/151.29 Pre({3}) = {2}. Here rules are labeled as follows: 597.44/151.29 597.44/151.29 DPs: 597.44/151.29 { 1: isPal^#(V) -> 597.44/151.29 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.44/151.29 isPalListKind^#(activate(V))) 597.44/151.29 , 2: U81^#(tt(), V) -> 597.44/151.29 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.44/151.29 isPalListKind^#(activate(V))) 597.44/151.29 , 3: U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.44/151.29 , 4: U11^#(tt(), V) -> 597.44/151.29 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.44/151.29 isPalListKind^#(activate(V))) 597.44/151.29 , 5: U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.44/151.29 , 6: isPalListKind^#(n____(V1, V2)) -> 597.44/151.29 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.44/151.29 isPalListKind^#(activate(V1))) 597.44/151.29 , 7: isNeList^#(V) -> 597.44/151.29 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.44/151.29 isPalListKind^#(activate(V))) 597.44/151.29 , 8: isNeList^#(n____(V1, V2)) -> 597.44/151.29 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.29 isPalListKind^#(activate(V1))) 597.44/151.29 , 9: isNeList^#(n____(V1, V2)) -> 597.44/151.29 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.29 isPalListKind^#(activate(V1))) 597.44/151.29 , 10: U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.44/151.29 , 11: U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.44/151.29 , 12: U41^#(tt(), V1, V2) -> 597.44/151.29 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.29 isPalListKind^#(activate(V1))) 597.44/151.29 , 13: U51^#(tt(), V1, V2) -> 597.44/151.29 c_10(U52^#(isPalListKind(activate(V1)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V1))) 597.44/151.29 , 14: U21^#(tt(), V1, V2) -> 597.44/151.29 c_11(U22^#(isPalListKind(activate(V1)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V1))) 597.44/151.29 , 15: U22^#(tt(), V1, V2) -> 597.44/151.29 c_12(U23^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , 16: U23^#(tt(), V1, V2) -> 597.44/151.29 c_13(U24^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , 17: U24^#(tt(), V1, V2) -> 597.44/151.29 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.44/151.29 isList^#(activate(V1))) 597.44/151.29 , 18: U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.44/151.29 , 19: isList^#(V) -> 597.44/151.29 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.44/151.29 isPalListKind^#(activate(V))) 597.44/151.29 , 20: isList^#(n____(V1, V2)) -> 597.44/151.29 c_17(U21^#(isPalListKind(activate(V1)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V1))) 597.44/151.29 , 21: U42^#(tt(), V1, V2) -> 597.44/151.29 c_18(U43^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , 22: U43^#(tt(), V1, V2) -> 597.44/151.29 c_19(U44^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , 23: U44^#(tt(), V1, V2) -> 597.44/151.29 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.44/151.29 isList^#(activate(V1))) 597.44/151.29 , 24: U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.44/151.29 , 25: U52^#(tt(), V1, V2) -> 597.44/151.29 c_22(U53^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , 26: U53^#(tt(), V1, V2) -> 597.44/151.29 c_23(U54^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , 27: U54^#(tt(), V1, V2) -> 597.44/151.29 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.44/151.29 isNeList^#(activate(V1))) 597.44/151.29 , 28: U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.44/151.29 , 29: U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.44/151.29 , 30: U71^#(tt(), I, P) -> 597.44/151.29 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.44/151.29 isPalListKind^#(activate(I))) 597.44/151.29 , 31: U72^#(tt(), P) -> 597.44/151.29 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.44/151.29 , 32: U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.44/151.29 , 33: isNePal^#(V) -> 597.44/151.29 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.44/151.29 isPalListKind^#(activate(V))) } 597.44/151.29 597.44/151.29 We are left with following problem, upon which TcT provides the 597.44/151.29 certificate YES(O(1),O(1)). 597.44/151.29 597.44/151.29 Strict DPs: 597.44/151.29 { isPal^#(V) -> 597.44/151.29 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.44/151.29 isPalListKind^#(activate(V))) 597.44/151.29 , U81^#(tt(), V) -> 597.44/151.29 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.44/151.29 isPalListKind^#(activate(V))) } 597.44/151.29 Weak DPs: 597.44/151.29 { U11^#(tt(), V) -> 597.44/151.29 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.44/151.29 isPalListKind^#(activate(V))) 597.44/151.29 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.44/151.29 , isPalListKind^#(n____(V1, V2)) -> 597.44/151.29 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.44/151.29 isPalListKind^#(activate(V1))) 597.44/151.29 , isNeList^#(V) -> 597.44/151.29 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.44/151.29 isPalListKind^#(activate(V))) 597.44/151.29 , isNeList^#(n____(V1, V2)) -> 597.44/151.29 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.29 isPalListKind^#(activate(V1))) 597.44/151.29 , isNeList^#(n____(V1, V2)) -> 597.44/151.29 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.29 isPalListKind^#(activate(V1))) 597.44/151.29 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.44/151.29 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.44/151.29 , U41^#(tt(), V1, V2) -> 597.44/151.29 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.44/151.29 isPalListKind^#(activate(V1))) 597.44/151.29 , U51^#(tt(), V1, V2) -> 597.44/151.29 c_10(U52^#(isPalListKind(activate(V1)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V1))) 597.44/151.29 , U21^#(tt(), V1, V2) -> 597.44/151.29 c_11(U22^#(isPalListKind(activate(V1)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V1))) 597.44/151.29 , U22^#(tt(), V1, V2) -> 597.44/151.29 c_12(U23^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , U23^#(tt(), V1, V2) -> 597.44/151.29 c_13(U24^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , U24^#(tt(), V1, V2) -> 597.44/151.29 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.44/151.29 isList^#(activate(V1))) 597.44/151.29 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.44/151.29 , isList^#(V) -> 597.44/151.29 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.44/151.29 isPalListKind^#(activate(V))) 597.44/151.29 , isList^#(n____(V1, V2)) -> 597.44/151.29 c_17(U21^#(isPalListKind(activate(V1)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V1))) 597.44/151.29 , U42^#(tt(), V1, V2) -> 597.44/151.29 c_18(U43^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , U43^#(tt(), V1, V2) -> 597.44/151.29 c_19(U44^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , U44^#(tt(), V1, V2) -> 597.44/151.29 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.44/151.29 isList^#(activate(V1))) 597.44/151.29 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.44/151.29 , U52^#(tt(), V1, V2) -> 597.44/151.29 c_22(U53^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , U53^#(tt(), V1, V2) -> 597.44/151.29 c_23(U54^#(isPalListKind(activate(V2)), 597.44/151.29 activate(V1), 597.44/151.29 activate(V2)), 597.44/151.29 isPalListKind^#(activate(V2))) 597.44/151.29 , U54^#(tt(), V1, V2) -> 597.44/151.29 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.44/151.29 isNeList^#(activate(V1))) 597.44/151.29 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.44/151.29 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.44/151.29 , U71^#(tt(), I, P) -> 597.44/151.29 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.44/151.29 isPalListKind^#(activate(I))) 597.44/151.29 , U72^#(tt(), P) -> 597.44/151.29 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.44/151.29 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.44/151.29 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.44/151.29 , isNePal^#(V) -> 597.44/151.29 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.44/151.29 isPalListKind^#(activate(V))) } 597.44/151.29 Weak Trs: 597.44/151.29 { __(X1, X2) -> n____(X1, X2) 597.44/151.29 , nil() -> n__nil() 597.44/151.29 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.44/151.29 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.44/151.29 , isPalListKind(n__nil()) -> tt() 597.44/151.29 , isPalListKind(n____(V1, V2)) -> 597.44/151.29 U91(isPalListKind(activate(V1)), activate(V2)) 597.44/151.29 , isPalListKind(n__a()) -> tt() 597.44/151.29 , isPalListKind(n__e()) -> tt() 597.44/151.29 , isPalListKind(n__i()) -> tt() 597.44/151.29 , isPalListKind(n__o()) -> tt() 597.44/151.29 , isPalListKind(n__u()) -> tt() 597.44/151.29 , activate(X) -> X 597.44/151.29 , activate(n__nil()) -> nil() 597.44/151.29 , activate(n____(X1, X2)) -> __(X1, X2) 597.44/151.29 , activate(n__a()) -> a() 597.44/151.29 , activate(n__e()) -> e() 597.44/151.29 , activate(n__i()) -> i() 597.44/151.29 , activate(n__o()) -> o() 597.44/151.29 , activate(n__u()) -> u() 597.44/151.29 , U13(tt()) -> tt() 597.44/151.29 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.44/151.29 , isNeList(n____(V1, V2)) -> 597.44/151.29 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.44/151.29 , isNeList(n____(V1, V2)) -> 597.68/151.30 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.30 , U21(tt(), V1, V2) -> 597.68/151.30 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.30 , U22(tt(), V1, V2) -> 597.68/151.30 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.30 , U23(tt(), V1, V2) -> 597.68/151.30 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.30 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.30 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.30 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.30 , isList(n__nil()) -> tt() 597.68/151.30 , isList(n____(V1, V2)) -> 597.68/151.30 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.30 , U26(tt()) -> tt() 597.68/151.30 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.30 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.30 , U33(tt()) -> tt() 597.68/151.30 , isQid(n__a()) -> tt() 597.68/151.30 , isQid(n__e()) -> tt() 597.68/151.30 , isQid(n__i()) -> tt() 597.68/151.30 , isQid(n__o()) -> tt() 597.68/151.30 , isQid(n__u()) -> tt() 597.68/151.30 , U41(tt(), V1, V2) -> 597.68/151.30 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.30 , U42(tt(), V1, V2) -> 597.68/151.30 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.30 , U43(tt(), V1, V2) -> 597.68/151.30 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.30 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.30 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.30 , U46(tt()) -> tt() 597.68/151.30 , U51(tt(), V1, V2) -> 597.68/151.30 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.30 , U52(tt(), V1, V2) -> 597.68/151.30 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.30 , U53(tt(), V1, V2) -> 597.68/151.30 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.30 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.30 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.30 , U56(tt()) -> tt() 597.68/151.30 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.30 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.30 , U63(tt()) -> tt() 597.68/151.30 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.30 , isPal(n__nil()) -> tt() 597.68/151.30 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.30 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.30 , U83(tt()) -> tt() 597.68/151.30 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.30 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.30 , U92(tt()) -> tt() 597.68/151.30 , a() -> n__a() 597.68/151.30 , e() -> n__e() 597.68/151.30 , i() -> n__i() 597.68/151.30 , o() -> n__o() 597.68/151.30 , u() -> n__u() } 597.68/151.30 Obligation: 597.68/151.30 innermost runtime complexity 597.68/151.30 Answer: 597.68/151.30 YES(O(1),O(1)) 597.68/151.30 597.68/151.30 We estimate the number of application of {2} by applications of 597.68/151.30 Pre({2}) = {1}. Here rules are labeled as follows: 597.68/151.30 597.68/151.30 DPs: 597.68/151.30 { 1: isPal^#(V) -> 597.68/151.30 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.68/151.30 isPalListKind^#(activate(V))) 597.68/151.30 , 2: U81^#(tt(), V) -> 597.68/151.30 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.68/151.30 isPalListKind^#(activate(V))) 597.68/151.30 , 3: U11^#(tt(), V) -> 597.68/151.30 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.68/151.30 isPalListKind^#(activate(V))) 597.68/151.30 , 4: U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.30 , 5: isPalListKind^#(n____(V1, V2)) -> 597.68/151.30 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.68/151.30 isPalListKind^#(activate(V1))) 597.68/151.30 , 6: isNeList^#(V) -> 597.68/151.30 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.68/151.30 isPalListKind^#(activate(V))) 597.68/151.30 , 7: isNeList^#(n____(V1, V2)) -> 597.68/151.30 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.30 isPalListKind^#(activate(V1))) 597.68/151.30 , 8: isNeList^#(n____(V1, V2)) -> 597.68/151.30 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.30 isPalListKind^#(activate(V1))) 597.68/151.30 , 9: U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.68/151.30 , 10: U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.68/151.30 , 11: U41^#(tt(), V1, V2) -> 597.68/151.30 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.30 isPalListKind^#(activate(V1))) 597.68/151.30 , 12: U51^#(tt(), V1, V2) -> 597.68/151.30 c_10(U52^#(isPalListKind(activate(V1)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V1))) 597.68/151.30 , 13: U21^#(tt(), V1, V2) -> 597.68/151.30 c_11(U22^#(isPalListKind(activate(V1)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V1))) 597.68/151.30 , 14: U22^#(tt(), V1, V2) -> 597.68/151.30 c_12(U23^#(isPalListKind(activate(V2)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V2))) 597.68/151.30 , 15: U23^#(tt(), V1, V2) -> 597.68/151.30 c_13(U24^#(isPalListKind(activate(V2)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V2))) 597.68/151.30 , 16: U24^#(tt(), V1, V2) -> 597.68/151.30 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.30 isList^#(activate(V1))) 597.68/151.30 , 17: U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.68/151.30 , 18: isList^#(V) -> 597.68/151.30 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.68/151.30 isPalListKind^#(activate(V))) 597.68/151.30 , 19: isList^#(n____(V1, V2)) -> 597.68/151.30 c_17(U21^#(isPalListKind(activate(V1)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V1))) 597.68/151.30 , 20: U42^#(tt(), V1, V2) -> 597.68/151.30 c_18(U43^#(isPalListKind(activate(V2)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V2))) 597.68/151.30 , 21: U43^#(tt(), V1, V2) -> 597.68/151.30 c_19(U44^#(isPalListKind(activate(V2)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V2))) 597.68/151.30 , 22: U44^#(tt(), V1, V2) -> 597.68/151.30 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.30 isList^#(activate(V1))) 597.68/151.30 , 23: U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.68/151.30 , 24: U52^#(tt(), V1, V2) -> 597.68/151.30 c_22(U53^#(isPalListKind(activate(V2)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V2))) 597.68/151.30 , 25: U53^#(tt(), V1, V2) -> 597.68/151.30 c_23(U54^#(isPalListKind(activate(V2)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V2))) 597.68/151.30 , 26: U54^#(tt(), V1, V2) -> 597.68/151.30 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.30 isNeList^#(activate(V1))) 597.68/151.30 , 27: U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.68/151.30 , 28: U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.68/151.30 , 29: U71^#(tt(), I, P) -> 597.68/151.30 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.68/151.30 isPalListKind^#(activate(I))) 597.68/151.30 , 30: U72^#(tt(), P) -> 597.68/151.30 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.68/151.30 , 31: U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.68/151.30 , 32: U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.68/151.30 , 33: isNePal^#(V) -> 597.68/151.30 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.68/151.30 isPalListKind^#(activate(V))) } 597.68/151.30 597.68/151.30 We are left with following problem, upon which TcT provides the 597.68/151.30 certificate YES(O(1),O(1)). 597.68/151.30 597.68/151.30 Strict DPs: 597.68/151.30 { isPal^#(V) -> 597.68/151.30 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.68/151.30 isPalListKind^#(activate(V))) } 597.68/151.30 Weak DPs: 597.68/151.30 { U11^#(tt(), V) -> 597.68/151.30 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.68/151.30 isPalListKind^#(activate(V))) 597.68/151.30 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.30 , isPalListKind^#(n____(V1, V2)) -> 597.68/151.30 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.68/151.30 isPalListKind^#(activate(V1))) 597.68/151.30 , isNeList^#(V) -> 597.68/151.30 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.68/151.30 isPalListKind^#(activate(V))) 597.68/151.30 , isNeList^#(n____(V1, V2)) -> 597.68/151.30 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.30 isPalListKind^#(activate(V1))) 597.68/151.30 , isNeList^#(n____(V1, V2)) -> 597.68/151.30 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.30 isPalListKind^#(activate(V1))) 597.68/151.30 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.68/151.30 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.68/151.30 , U41^#(tt(), V1, V2) -> 597.68/151.30 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.30 isPalListKind^#(activate(V1))) 597.68/151.30 , U51^#(tt(), V1, V2) -> 597.68/151.30 c_10(U52^#(isPalListKind(activate(V1)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V1))) 597.68/151.30 , U21^#(tt(), V1, V2) -> 597.68/151.30 c_11(U22^#(isPalListKind(activate(V1)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V1))) 597.68/151.30 , U22^#(tt(), V1, V2) -> 597.68/151.30 c_12(U23^#(isPalListKind(activate(V2)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V2))) 597.68/151.30 , U23^#(tt(), V1, V2) -> 597.68/151.30 c_13(U24^#(isPalListKind(activate(V2)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V2))) 597.68/151.30 , U24^#(tt(), V1, V2) -> 597.68/151.30 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.30 isList^#(activate(V1))) 597.68/151.30 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.68/151.30 , isList^#(V) -> 597.68/151.30 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.68/151.30 isPalListKind^#(activate(V))) 597.68/151.30 , isList^#(n____(V1, V2)) -> 597.68/151.30 c_17(U21^#(isPalListKind(activate(V1)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V1))) 597.68/151.30 , U42^#(tt(), V1, V2) -> 597.68/151.30 c_18(U43^#(isPalListKind(activate(V2)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V2))) 597.68/151.30 , U43^#(tt(), V1, V2) -> 597.68/151.30 c_19(U44^#(isPalListKind(activate(V2)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V2))) 597.68/151.30 , U44^#(tt(), V1, V2) -> 597.68/151.30 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.30 isList^#(activate(V1))) 597.68/151.30 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.68/151.30 , U52^#(tt(), V1, V2) -> 597.68/151.30 c_22(U53^#(isPalListKind(activate(V2)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V2))) 597.68/151.30 , U53^#(tt(), V1, V2) -> 597.68/151.30 c_23(U54^#(isPalListKind(activate(V2)), 597.68/151.30 activate(V1), 597.68/151.30 activate(V2)), 597.68/151.30 isPalListKind^#(activate(V2))) 597.68/151.30 , U54^#(tt(), V1, V2) -> 597.68/151.30 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.30 isNeList^#(activate(V1))) 597.68/151.30 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.68/151.30 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.68/151.30 , U71^#(tt(), I, P) -> 597.68/151.30 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.68/151.30 isPalListKind^#(activate(I))) 597.68/151.30 , U72^#(tt(), P) -> 597.68/151.30 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.68/151.30 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.68/151.30 , U81^#(tt(), V) -> 597.68/151.30 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.68/151.30 isPalListKind^#(activate(V))) 597.68/151.30 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.68/151.30 , isNePal^#(V) -> 597.68/151.30 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.68/151.30 isPalListKind^#(activate(V))) } 597.68/151.30 Weak Trs: 597.68/151.30 { __(X1, X2) -> n____(X1, X2) 597.68/151.30 , nil() -> n__nil() 597.68/151.30 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.30 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.30 , isPalListKind(n__nil()) -> tt() 597.68/151.30 , isPalListKind(n____(V1, V2)) -> 597.68/151.30 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.30 , isPalListKind(n__a()) -> tt() 597.68/151.30 , isPalListKind(n__e()) -> tt() 597.68/151.30 , isPalListKind(n__i()) -> tt() 597.68/151.30 , isPalListKind(n__o()) -> tt() 597.68/151.30 , isPalListKind(n__u()) -> tt() 597.68/151.30 , activate(X) -> X 597.68/151.30 , activate(n__nil()) -> nil() 597.68/151.30 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.30 , activate(n__a()) -> a() 597.68/151.30 , activate(n__e()) -> e() 597.68/151.30 , activate(n__i()) -> i() 597.68/151.30 , activate(n__o()) -> o() 597.68/151.30 , activate(n__u()) -> u() 597.68/151.30 , U13(tt()) -> tt() 597.68/151.30 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.30 , isNeList(n____(V1, V2)) -> 597.68/151.30 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.30 , isNeList(n____(V1, V2)) -> 597.68/151.30 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.30 , U21(tt(), V1, V2) -> 597.68/151.30 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.30 , U22(tt(), V1, V2) -> 597.68/151.30 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.30 , U23(tt(), V1, V2) -> 597.68/151.30 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.30 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.30 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.30 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.30 , isList(n__nil()) -> tt() 597.68/151.30 , isList(n____(V1, V2)) -> 597.68/151.30 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.30 , U26(tt()) -> tt() 597.68/151.30 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.30 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.30 , U33(tt()) -> tt() 597.68/151.30 , isQid(n__a()) -> tt() 597.68/151.30 , isQid(n__e()) -> tt() 597.68/151.30 , isQid(n__i()) -> tt() 597.68/151.30 , isQid(n__o()) -> tt() 597.68/151.30 , isQid(n__u()) -> tt() 597.68/151.30 , U41(tt(), V1, V2) -> 597.68/151.30 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.30 , U42(tt(), V1, V2) -> 597.68/151.30 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.30 , U43(tt(), V1, V2) -> 597.68/151.30 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.30 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.30 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.30 , U46(tt()) -> tt() 597.68/151.30 , U51(tt(), V1, V2) -> 597.68/151.30 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.30 , U52(tt(), V1, V2) -> 597.68/151.30 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.30 , U53(tt(), V1, V2) -> 597.68/151.30 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.30 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.30 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.30 , U56(tt()) -> tt() 597.68/151.30 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.30 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.30 , U63(tt()) -> tt() 597.68/151.30 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.30 , isPal(n__nil()) -> tt() 597.68/151.30 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.30 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.30 , U83(tt()) -> tt() 597.68/151.30 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.30 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.30 , U92(tt()) -> tt() 597.68/151.30 , a() -> n__a() 597.68/151.30 , e() -> n__e() 597.68/151.30 , i() -> n__i() 597.68/151.30 , o() -> n__o() 597.68/151.30 , u() -> n__u() } 597.68/151.31 Obligation: 597.68/151.31 innermost runtime complexity 597.68/151.31 Answer: 597.68/151.31 YES(O(1),O(1)) 597.68/151.31 597.68/151.31 The following weak DPs constitute a sub-graph of the DG that is 597.68/151.31 closed under successors. The DPs are removed. 597.68/151.31 597.68/151.31 { U11^#(tt(), V) -> 597.68/151.31 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.68/151.31 isPalListKind^#(activate(V))) 597.68/151.31 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.31 , isPalListKind^#(n____(V1, V2)) -> 597.68/151.31 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.68/151.31 isPalListKind^#(activate(V1))) 597.68/151.31 , isNeList^#(V) -> 597.68/151.31 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.68/151.31 isPalListKind^#(activate(V))) 597.68/151.31 , isNeList^#(n____(V1, V2)) -> 597.68/151.31 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.31 isPalListKind^#(activate(V1))) 597.68/151.31 , isNeList^#(n____(V1, V2)) -> 597.68/151.31 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.31 isPalListKind^#(activate(V1))) 597.68/151.31 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.68/151.31 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.68/151.31 , U41^#(tt(), V1, V2) -> 597.68/151.31 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.31 isPalListKind^#(activate(V1))) 597.68/151.31 , U51^#(tt(), V1, V2) -> 597.68/151.31 c_10(U52^#(isPalListKind(activate(V1)), 597.68/151.31 activate(V1), 597.68/151.31 activate(V2)), 597.68/151.31 isPalListKind^#(activate(V1))) 597.68/151.31 , U21^#(tt(), V1, V2) -> 597.68/151.31 c_11(U22^#(isPalListKind(activate(V1)), 597.68/151.31 activate(V1), 597.68/151.31 activate(V2)), 597.68/151.31 isPalListKind^#(activate(V1))) 597.68/151.31 , U22^#(tt(), V1, V2) -> 597.68/151.31 c_12(U23^#(isPalListKind(activate(V2)), 597.68/151.31 activate(V1), 597.68/151.31 activate(V2)), 597.68/151.31 isPalListKind^#(activate(V2))) 597.68/151.31 , U23^#(tt(), V1, V2) -> 597.68/151.31 c_13(U24^#(isPalListKind(activate(V2)), 597.68/151.31 activate(V1), 597.68/151.31 activate(V2)), 597.68/151.31 isPalListKind^#(activate(V2))) 597.68/151.31 , U24^#(tt(), V1, V2) -> 597.68/151.31 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.31 isList^#(activate(V1))) 597.68/151.31 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.68/151.31 , isList^#(V) -> 597.68/151.31 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.68/151.31 isPalListKind^#(activate(V))) 597.68/151.31 , isList^#(n____(V1, V2)) -> 597.68/151.31 c_17(U21^#(isPalListKind(activate(V1)), 597.68/151.31 activate(V1), 597.68/151.31 activate(V2)), 597.68/151.31 isPalListKind^#(activate(V1))) 597.68/151.31 , U42^#(tt(), V1, V2) -> 597.68/151.31 c_18(U43^#(isPalListKind(activate(V2)), 597.68/151.31 activate(V1), 597.68/151.31 activate(V2)), 597.68/151.31 isPalListKind^#(activate(V2))) 597.68/151.31 , U43^#(tt(), V1, V2) -> 597.68/151.31 c_19(U44^#(isPalListKind(activate(V2)), 597.68/151.31 activate(V1), 597.68/151.31 activate(V2)), 597.68/151.31 isPalListKind^#(activate(V2))) 597.68/151.31 , U44^#(tt(), V1, V2) -> 597.68/151.31 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.31 isList^#(activate(V1))) 597.68/151.31 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.68/151.31 , U52^#(tt(), V1, V2) -> 597.68/151.31 c_22(U53^#(isPalListKind(activate(V2)), 597.68/151.31 activate(V1), 597.68/151.31 activate(V2)), 597.68/151.31 isPalListKind^#(activate(V2))) 597.68/151.31 , U53^#(tt(), V1, V2) -> 597.68/151.31 c_23(U54^#(isPalListKind(activate(V2)), 597.68/151.31 activate(V1), 597.68/151.31 activate(V2)), 597.68/151.31 isPalListKind^#(activate(V2))) 597.68/151.31 , U54^#(tt(), V1, V2) -> 597.68/151.31 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.31 isNeList^#(activate(V1))) 597.68/151.31 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.68/151.31 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.68/151.31 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.68/151.31 , U81^#(tt(), V) -> 597.68/151.31 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.68/151.31 isPalListKind^#(activate(V))) 597.68/151.31 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.68/151.31 , isNePal^#(V) -> 597.68/151.31 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.68/151.31 isPalListKind^#(activate(V))) } 597.68/151.31 597.68/151.31 We are left with following problem, upon which TcT provides the 597.68/151.31 certificate YES(O(1),O(1)). 597.68/151.31 597.68/151.31 Strict DPs: 597.68/151.31 { isPal^#(V) -> 597.68/151.31 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.68/151.31 isPalListKind^#(activate(V))) } 597.68/151.31 Weak DPs: 597.68/151.31 { U71^#(tt(), I, P) -> 597.68/151.31 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.68/151.31 isPalListKind^#(activate(I))) 597.68/151.31 , U72^#(tt(), P) -> 597.68/151.31 c_28(U73^#(isPal(activate(P)), activate(P)), 597.68/151.31 isPal^#(activate(P))) } 597.68/151.31 Weak Trs: 597.68/151.31 { __(X1, X2) -> n____(X1, X2) 597.68/151.31 , nil() -> n__nil() 597.68/151.31 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.31 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.31 , isPalListKind(n__nil()) -> tt() 597.68/151.31 , isPalListKind(n____(V1, V2)) -> 597.68/151.31 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.31 , isPalListKind(n__a()) -> tt() 597.68/151.31 , isPalListKind(n__e()) -> tt() 597.68/151.31 , isPalListKind(n__i()) -> tt() 597.68/151.31 , isPalListKind(n__o()) -> tt() 597.68/151.31 , isPalListKind(n__u()) -> tt() 597.68/151.31 , activate(X) -> X 597.68/151.31 , activate(n__nil()) -> nil() 597.68/151.31 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.31 , activate(n__a()) -> a() 597.68/151.31 , activate(n__e()) -> e() 597.68/151.31 , activate(n__i()) -> i() 597.68/151.31 , activate(n__o()) -> o() 597.68/151.31 , activate(n__u()) -> u() 597.68/151.31 , U13(tt()) -> tt() 597.68/151.31 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.31 , isNeList(n____(V1, V2)) -> 597.68/151.31 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.31 , isNeList(n____(V1, V2)) -> 597.68/151.31 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.31 , U21(tt(), V1, V2) -> 597.68/151.31 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.31 , U22(tt(), V1, V2) -> 597.68/151.31 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.31 , U23(tt(), V1, V2) -> 597.68/151.31 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.31 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.31 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.31 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.31 , isList(n__nil()) -> tt() 597.68/151.31 , isList(n____(V1, V2)) -> 597.68/151.31 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.31 , U26(tt()) -> tt() 597.68/151.31 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.31 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.31 , U33(tt()) -> tt() 597.68/151.31 , isQid(n__a()) -> tt() 597.68/151.31 , isQid(n__e()) -> tt() 597.68/151.31 , isQid(n__i()) -> tt() 597.68/151.31 , isQid(n__o()) -> tt() 597.68/151.31 , isQid(n__u()) -> tt() 597.68/151.31 , U41(tt(), V1, V2) -> 597.68/151.31 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.31 , U42(tt(), V1, V2) -> 597.68/151.31 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.31 , U43(tt(), V1, V2) -> 597.68/151.31 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.31 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.31 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.31 , U46(tt()) -> tt() 597.68/151.31 , U51(tt(), V1, V2) -> 597.68/151.31 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.31 , U52(tt(), V1, V2) -> 597.68/151.31 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.31 , U53(tt(), V1, V2) -> 597.68/151.31 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.31 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.31 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.31 , U56(tt()) -> tt() 597.68/151.31 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.31 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.31 , U63(tt()) -> tt() 597.68/151.31 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.31 , isPal(n__nil()) -> tt() 597.68/151.31 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.31 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.31 , U83(tt()) -> tt() 597.68/151.31 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.31 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.31 , U92(tt()) -> tt() 597.68/151.31 , a() -> n__a() 597.68/151.31 , e() -> n__e() 597.68/151.31 , i() -> n__i() 597.68/151.31 , o() -> n__o() 597.68/151.31 , u() -> n__u() } 597.68/151.31 Obligation: 597.68/151.31 innermost runtime complexity 597.68/151.31 Answer: 597.68/151.31 YES(O(1),O(1)) 597.68/151.31 597.68/151.31 Due to missing edges in the dependency-graph, the right-hand sides 597.68/151.31 of following rules could be simplified: 597.68/151.31 597.68/151.31 { U71^#(tt(), I, P) -> 597.68/151.31 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.68/151.31 isPalListKind^#(activate(I))) 597.68/151.31 , U72^#(tt(), P) -> 597.68/151.31 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.68/151.31 , isPal^#(V) -> 597.68/151.31 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.68/151.31 isPalListKind^#(activate(V))) } 597.68/151.31 597.68/151.31 We are left with following problem, upon which TcT provides the 597.68/151.31 certificate YES(O(1),O(1)). 597.68/151.31 597.68/151.31 Strict DPs: { isPal^#(V) -> c_1() } 597.68/151.31 Weak DPs: 597.68/151.31 { U71^#(tt(), I, P) -> 597.68/151.31 c_2(U72^#(isPalListKind(activate(I)), activate(P))) 597.68/151.31 , U72^#(tt(), P) -> c_3(isPal^#(activate(P))) } 597.68/151.31 Weak Trs: 597.68/151.31 { __(X1, X2) -> n____(X1, X2) 597.68/151.31 , nil() -> n__nil() 597.68/151.31 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.31 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.31 , isPalListKind(n__nil()) -> tt() 597.68/151.31 , isPalListKind(n____(V1, V2)) -> 597.68/151.31 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.31 , isPalListKind(n__a()) -> tt() 597.68/151.31 , isPalListKind(n__e()) -> tt() 597.68/151.31 , isPalListKind(n__i()) -> tt() 597.68/151.31 , isPalListKind(n__o()) -> tt() 597.68/151.31 , isPalListKind(n__u()) -> tt() 597.68/151.31 , activate(X) -> X 597.68/151.31 , activate(n__nil()) -> nil() 597.68/151.31 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.31 , activate(n__a()) -> a() 597.68/151.31 , activate(n__e()) -> e() 597.68/151.31 , activate(n__i()) -> i() 597.68/151.31 , activate(n__o()) -> o() 597.68/151.31 , activate(n__u()) -> u() 597.68/151.31 , U13(tt()) -> tt() 597.68/151.31 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.31 , isNeList(n____(V1, V2)) -> 597.68/151.31 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.31 , isNeList(n____(V1, V2)) -> 597.68/151.31 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.31 , U21(tt(), V1, V2) -> 597.68/151.31 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.31 , U22(tt(), V1, V2) -> 597.68/151.31 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.31 , U23(tt(), V1, V2) -> 597.68/151.31 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.31 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.31 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.31 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.31 , isList(n__nil()) -> tt() 597.68/151.31 , isList(n____(V1, V2)) -> 597.68/151.31 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.31 , U26(tt()) -> tt() 597.68/151.31 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.31 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.31 , U33(tt()) -> tt() 597.68/151.31 , isQid(n__a()) -> tt() 597.68/151.31 , isQid(n__e()) -> tt() 597.68/151.31 , isQid(n__i()) -> tt() 597.68/151.31 , isQid(n__o()) -> tt() 597.68/151.31 , isQid(n__u()) -> tt() 597.68/151.31 , U41(tt(), V1, V2) -> 597.68/151.31 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.31 , U42(tt(), V1, V2) -> 597.68/151.31 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.31 , U43(tt(), V1, V2) -> 597.68/151.31 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.31 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.31 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.31 , U46(tt()) -> tt() 597.68/151.31 , U51(tt(), V1, V2) -> 597.68/151.31 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.31 , U52(tt(), V1, V2) -> 597.68/151.31 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.31 , U53(tt(), V1, V2) -> 597.68/151.31 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.31 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.31 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.31 , U56(tt()) -> tt() 597.68/151.31 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.31 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.31 , U63(tt()) -> tt() 597.68/151.31 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.31 , isPal(n__nil()) -> tt() 597.68/151.31 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.31 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.31 , U83(tt()) -> tt() 597.68/151.31 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.31 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.31 , U92(tt()) -> tt() 597.68/151.31 , a() -> n__a() 597.68/151.31 , e() -> n__e() 597.68/151.31 , i() -> n__i() 597.68/151.31 , o() -> n__o() 597.68/151.31 , u() -> n__u() } 597.68/151.31 Obligation: 597.68/151.31 innermost runtime complexity 597.68/151.31 Answer: 597.68/151.31 YES(O(1),O(1)) 597.68/151.31 597.68/151.31 We replace rewrite rules by usable rules: 597.68/151.31 597.68/151.31 Weak Usable Rules: 597.68/151.31 { __(X1, X2) -> n____(X1, X2) 597.68/151.31 , nil() -> n__nil() 597.68/151.31 , isPalListKind(n__nil()) -> tt() 597.68/151.31 , isPalListKind(n____(V1, V2)) -> 597.68/151.31 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.31 , isPalListKind(n__a()) -> tt() 597.68/151.31 , isPalListKind(n__e()) -> tt() 597.68/151.31 , isPalListKind(n__i()) -> tt() 597.68/151.31 , isPalListKind(n__o()) -> tt() 597.68/151.31 , isPalListKind(n__u()) -> tt() 597.68/151.31 , activate(X) -> X 597.68/151.31 , activate(n__nil()) -> nil() 597.68/151.31 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.31 , activate(n__a()) -> a() 597.68/151.31 , activate(n__e()) -> e() 597.68/151.31 , activate(n__i()) -> i() 597.68/151.31 , activate(n__o()) -> o() 597.68/151.31 , activate(n__u()) -> u() 597.68/151.31 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.31 , U92(tt()) -> tt() 597.68/151.31 , a() -> n__a() 597.68/151.31 , e() -> n__e() 597.68/151.31 , i() -> n__i() 597.68/151.31 , o() -> n__o() 597.68/151.31 , u() -> n__u() } 597.68/151.31 597.68/151.31 We are left with following problem, upon which TcT provides the 597.68/151.31 certificate YES(O(1),O(1)). 597.68/151.31 597.68/151.31 Strict DPs: { isPal^#(V) -> c_1() } 597.68/151.31 Weak DPs: 597.68/151.31 { U71^#(tt(), I, P) -> 597.68/151.31 c_2(U72^#(isPalListKind(activate(I)), activate(P))) 597.68/151.31 , U72^#(tt(), P) -> c_3(isPal^#(activate(P))) } 597.68/151.31 Weak Trs: 597.68/151.31 { __(X1, X2) -> n____(X1, X2) 597.68/151.31 , nil() -> n__nil() 597.68/151.31 , isPalListKind(n__nil()) -> tt() 597.68/151.31 , isPalListKind(n____(V1, V2)) -> 597.68/151.31 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.31 , isPalListKind(n__a()) -> tt() 597.68/151.31 , isPalListKind(n__e()) -> tt() 597.68/151.31 , isPalListKind(n__i()) -> tt() 597.68/151.31 , isPalListKind(n__o()) -> tt() 597.68/151.31 , isPalListKind(n__u()) -> tt() 597.68/151.31 , activate(X) -> X 597.68/151.31 , activate(n__nil()) -> nil() 597.68/151.31 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.31 , activate(n__a()) -> a() 597.68/151.31 , activate(n__e()) -> e() 597.68/151.31 , activate(n__i()) -> i() 597.68/151.31 , activate(n__o()) -> o() 597.68/151.31 , activate(n__u()) -> u() 597.68/151.31 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.31 , U92(tt()) -> tt() 597.68/151.31 , a() -> n__a() 597.68/151.31 , e() -> n__e() 597.68/151.31 , i() -> n__i() 597.68/151.31 , o() -> n__o() 597.68/151.31 , u() -> n__u() } 597.68/151.31 Obligation: 597.68/151.31 innermost runtime complexity 597.68/151.31 Answer: 597.68/151.31 YES(O(1),O(1)) 597.68/151.31 597.68/151.31 The dependency graph contains no loops, we remove all dependency 597.68/151.31 pairs. 597.68/151.31 597.68/151.31 We are left with following problem, upon which TcT provides the 597.68/151.31 certificate YES(O(1),O(1)). 597.68/151.31 597.68/151.31 Weak Trs: 597.68/151.31 { __(X1, X2) -> n____(X1, X2) 597.68/151.31 , nil() -> n__nil() 597.68/151.31 , isPalListKind(n__nil()) -> tt() 597.68/151.31 , isPalListKind(n____(V1, V2)) -> 597.68/151.31 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.31 , isPalListKind(n__a()) -> tt() 597.68/151.31 , isPalListKind(n__e()) -> tt() 597.68/151.31 , isPalListKind(n__i()) -> tt() 597.68/151.31 , isPalListKind(n__o()) -> tt() 597.68/151.31 , isPalListKind(n__u()) -> tt() 597.68/151.31 , activate(X) -> X 597.68/151.31 , activate(n__nil()) -> nil() 597.68/151.31 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.31 , activate(n__a()) -> a() 597.68/151.31 , activate(n__e()) -> e() 597.68/151.31 , activate(n__i()) -> i() 597.68/151.31 , activate(n__o()) -> o() 597.68/151.31 , activate(n__u()) -> u() 597.68/151.31 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.31 , U92(tt()) -> tt() 597.68/151.31 , a() -> n__a() 597.68/151.31 , e() -> n__e() 597.68/151.31 , i() -> n__i() 597.68/151.31 , o() -> n__o() 597.68/151.31 , u() -> n__u() } 597.68/151.31 Obligation: 597.68/151.31 innermost runtime complexity 597.68/151.31 Answer: 597.68/151.31 YES(O(1),O(1)) 597.68/151.31 597.68/151.31 No rule is usable, rules are removed from the input problem. 597.68/151.31 597.68/151.31 We are left with following problem, upon which TcT provides the 597.68/151.31 certificate YES(O(1),O(1)). 597.68/151.31 597.68/151.31 Rules: Empty 597.68/151.31 Obligation: 597.68/151.31 innermost runtime complexity 597.68/151.31 Answer: 597.68/151.31 YES(O(1),O(1)) 597.68/151.31 597.68/151.31 Empty rules are trivially bounded 597.68/151.31 597.68/151.31 597.68/151.31 S) We are left with following problem, upon which TcT provides the 597.68/151.31 certificate YES(O(1),O(n^1)). 597.68/151.31 597.68/151.31 Strict DPs: 597.68/151.31 { U11^#(tt(), V) -> 597.68/151.31 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.68/151.31 isPalListKind^#(activate(V))) 597.68/151.31 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.31 , isNeList^#(V) -> 597.68/151.31 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.68/151.31 isPalListKind^#(activate(V))) 597.68/151.31 , isNeList^#(n____(V1, V2)) -> 597.68/151.31 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.31 isPalListKind^#(activate(V1))) 597.68/151.31 , isNeList^#(n____(V1, V2)) -> 597.68/151.31 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.31 isPalListKind^#(activate(V1))) 597.68/151.31 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.68/151.31 , U41^#(tt(), V1, V2) -> 597.68/151.31 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.31 isPalListKind^#(activate(V1))) 597.68/151.31 , U51^#(tt(), V1, V2) -> 597.68/151.31 c_10(U52^#(isPalListKind(activate(V1)), 597.68/151.31 activate(V1), 597.68/151.31 activate(V2)), 597.68/151.31 isPalListKind^#(activate(V1))) 597.68/151.31 , U21^#(tt(), V1, V2) -> 597.68/151.31 c_11(U22^#(isPalListKind(activate(V1)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , U22^#(tt(), V1, V2) -> 597.68/151.32 c_12(U23^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , U23^#(tt(), V1, V2) -> 597.68/151.32 c_13(U24^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , U24^#(tt(), V1, V2) -> 597.68/151.32 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.32 isList^#(activate(V1))) 597.68/151.32 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.68/151.32 , isList^#(V) -> 597.68/151.32 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) 597.68/151.32 , isList^#(n____(V1, V2)) -> 597.68/151.32 c_17(U21^#(isPalListKind(activate(V1)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , U42^#(tt(), V1, V2) -> 597.68/151.32 c_18(U43^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , U43^#(tt(), V1, V2) -> 597.68/151.32 c_19(U44^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , U44^#(tt(), V1, V2) -> 597.68/151.32 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.32 isList^#(activate(V1))) 597.68/151.32 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.68/151.32 , U52^#(tt(), V1, V2) -> 597.68/151.32 c_22(U53^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , U53^#(tt(), V1, V2) -> 597.68/151.32 c_23(U54^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , U54^#(tt(), V1, V2) -> 597.68/151.32 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.32 isNeList^#(activate(V1))) 597.68/151.32 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.68/151.32 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) } 597.68/151.32 Weak DPs: 597.68/151.32 { isPalListKind^#(n____(V1, V2)) -> 597.68/151.32 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.68/151.32 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.68/151.32 , U71^#(tt(), I, P) -> 597.68/151.32 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.68/151.32 isPalListKind^#(activate(I))) 597.68/151.32 , U72^#(tt(), P) -> 597.68/151.32 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.68/151.32 , isPal^#(V) -> 597.68/151.32 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) 597.68/151.32 , U81^#(tt(), V) -> 597.68/151.32 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) 597.68/151.32 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.68/151.32 , isNePal^#(V) -> 597.68/151.32 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) } 597.68/151.32 Weak Trs: 597.68/151.32 { __(X1, X2) -> n____(X1, X2) 597.68/151.32 , nil() -> n__nil() 597.68/151.32 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.32 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.32 , isPalListKind(n__nil()) -> tt() 597.68/151.32 , isPalListKind(n____(V1, V2)) -> 597.68/151.32 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.32 , isPalListKind(n__a()) -> tt() 597.68/151.32 , isPalListKind(n__e()) -> tt() 597.68/151.32 , isPalListKind(n__i()) -> tt() 597.68/151.32 , isPalListKind(n__o()) -> tt() 597.68/151.32 , isPalListKind(n__u()) -> tt() 597.68/151.32 , activate(X) -> X 597.68/151.32 , activate(n__nil()) -> nil() 597.68/151.32 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.32 , activate(n__a()) -> a() 597.68/151.32 , activate(n__e()) -> e() 597.68/151.32 , activate(n__i()) -> i() 597.68/151.32 , activate(n__o()) -> o() 597.68/151.32 , activate(n__u()) -> u() 597.68/151.32 , U13(tt()) -> tt() 597.68/151.32 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.32 , isNeList(n____(V1, V2)) -> 597.68/151.32 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.32 , isNeList(n____(V1, V2)) -> 597.68/151.32 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.32 , U21(tt(), V1, V2) -> 597.68/151.32 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.32 , U22(tt(), V1, V2) -> 597.68/151.32 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.32 , U23(tt(), V1, V2) -> 597.68/151.32 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.32 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.32 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.32 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.32 , isList(n__nil()) -> tt() 597.68/151.32 , isList(n____(V1, V2)) -> 597.68/151.32 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.32 , U26(tt()) -> tt() 597.68/151.32 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.32 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.32 , U33(tt()) -> tt() 597.68/151.32 , isQid(n__a()) -> tt() 597.68/151.32 , isQid(n__e()) -> tt() 597.68/151.32 , isQid(n__i()) -> tt() 597.68/151.32 , isQid(n__o()) -> tt() 597.68/151.32 , isQid(n__u()) -> tt() 597.68/151.32 , U41(tt(), V1, V2) -> 597.68/151.32 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.32 , U42(tt(), V1, V2) -> 597.68/151.32 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.32 , U43(tt(), V1, V2) -> 597.68/151.32 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.32 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.32 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.32 , U46(tt()) -> tt() 597.68/151.32 , U51(tt(), V1, V2) -> 597.68/151.32 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.32 , U52(tt(), V1, V2) -> 597.68/151.32 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.32 , U53(tt(), V1, V2) -> 597.68/151.32 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.32 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.32 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.32 , U56(tt()) -> tt() 597.68/151.32 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.32 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.32 , U63(tt()) -> tt() 597.68/151.32 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.32 , isPal(n__nil()) -> tt() 597.68/151.32 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.32 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.32 , U83(tt()) -> tt() 597.68/151.32 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.32 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.32 , U92(tt()) -> tt() 597.68/151.32 , a() -> n__a() 597.68/151.32 , e() -> n__e() 597.68/151.32 , i() -> n__i() 597.68/151.32 , o() -> n__o() 597.68/151.32 , u() -> n__u() } 597.68/151.32 Obligation: 597.68/151.32 innermost runtime complexity 597.68/151.32 Answer: 597.68/151.32 YES(O(1),O(n^1)) 597.68/151.32 597.68/151.32 We estimate the number of application of {6} by applications of 597.68/151.32 Pre({6}) = {3}. Here rules are labeled as follows: 597.68/151.32 597.68/151.32 DPs: 597.68/151.32 { 1: U11^#(tt(), V) -> 597.68/151.32 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) 597.68/151.32 , 2: U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.32 , 3: isNeList^#(V) -> 597.68/151.32 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) 597.68/151.32 , 4: isNeList^#(n____(V1, V2)) -> 597.68/151.32 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , 5: isNeList^#(n____(V1, V2)) -> 597.68/151.32 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , 6: U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.68/151.32 , 7: U41^#(tt(), V1, V2) -> 597.68/151.32 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , 8: U51^#(tt(), V1, V2) -> 597.68/151.32 c_10(U52^#(isPalListKind(activate(V1)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , 9: U21^#(tt(), V1, V2) -> 597.68/151.32 c_11(U22^#(isPalListKind(activate(V1)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , 10: U22^#(tt(), V1, V2) -> 597.68/151.32 c_12(U23^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , 11: U23^#(tt(), V1, V2) -> 597.68/151.32 c_13(U24^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , 12: U24^#(tt(), V1, V2) -> 597.68/151.32 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.32 isList^#(activate(V1))) 597.68/151.32 , 13: U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.68/151.32 , 14: isList^#(V) -> 597.68/151.32 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) 597.68/151.32 , 15: isList^#(n____(V1, V2)) -> 597.68/151.32 c_17(U21^#(isPalListKind(activate(V1)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , 16: U42^#(tt(), V1, V2) -> 597.68/151.32 c_18(U43^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , 17: U43^#(tt(), V1, V2) -> 597.68/151.32 c_19(U44^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , 18: U44^#(tt(), V1, V2) -> 597.68/151.32 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.32 isList^#(activate(V1))) 597.68/151.32 , 19: U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.68/151.32 , 20: U52^#(tt(), V1, V2) -> 597.68/151.32 c_22(U53^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , 21: U53^#(tt(), V1, V2) -> 597.68/151.32 c_23(U54^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , 22: U54^#(tt(), V1, V2) -> 597.68/151.32 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.32 isNeList^#(activate(V1))) 597.68/151.32 , 23: U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.68/151.32 , 24: U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.68/151.32 , 25: isPalListKind^#(n____(V1, V2)) -> 597.68/151.32 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , 26: U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.68/151.32 , 27: U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.68/151.32 , 28: U71^#(tt(), I, P) -> 597.68/151.32 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.68/151.32 isPalListKind^#(activate(I))) 597.68/151.32 , 29: U72^#(tt(), P) -> 597.68/151.32 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.68/151.32 , 30: isPal^#(V) -> 597.68/151.32 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) 597.68/151.32 , 31: U81^#(tt(), V) -> 597.68/151.32 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) 597.68/151.32 , 32: U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.68/151.32 , 33: isNePal^#(V) -> 597.68/151.32 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) } 597.68/151.32 597.68/151.32 We are left with following problem, upon which TcT provides the 597.68/151.32 certificate YES(O(1),O(n^1)). 597.68/151.32 597.68/151.32 Strict DPs: 597.68/151.32 { U11^#(tt(), V) -> 597.68/151.32 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) 597.68/151.32 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.32 , isNeList^#(V) -> 597.68/151.32 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) 597.68/151.32 , isNeList^#(n____(V1, V2)) -> 597.68/151.32 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , isNeList^#(n____(V1, V2)) -> 597.68/151.32 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , U41^#(tt(), V1, V2) -> 597.68/151.32 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , U51^#(tt(), V1, V2) -> 597.68/151.32 c_10(U52^#(isPalListKind(activate(V1)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , U21^#(tt(), V1, V2) -> 597.68/151.32 c_11(U22^#(isPalListKind(activate(V1)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , U22^#(tt(), V1, V2) -> 597.68/151.32 c_12(U23^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , U23^#(tt(), V1, V2) -> 597.68/151.32 c_13(U24^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , U24^#(tt(), V1, V2) -> 597.68/151.32 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.32 isList^#(activate(V1))) 597.68/151.32 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.68/151.32 , isList^#(V) -> 597.68/151.32 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) 597.68/151.32 , isList^#(n____(V1, V2)) -> 597.68/151.32 c_17(U21^#(isPalListKind(activate(V1)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , U42^#(tt(), V1, V2) -> 597.68/151.32 c_18(U43^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , U43^#(tt(), V1, V2) -> 597.68/151.32 c_19(U44^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , U44^#(tt(), V1, V2) -> 597.68/151.32 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.32 isList^#(activate(V1))) 597.68/151.32 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.68/151.32 , U52^#(tt(), V1, V2) -> 597.68/151.32 c_22(U53^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , U53^#(tt(), V1, V2) -> 597.68/151.32 c_23(U54^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , U54^#(tt(), V1, V2) -> 597.68/151.32 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.32 isNeList^#(activate(V1))) 597.68/151.32 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.68/151.32 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) } 597.68/151.32 Weak DPs: 597.68/151.32 { isPalListKind^#(n____(V1, V2)) -> 597.68/151.32 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.68/151.32 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.68/151.32 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.68/151.32 , U71^#(tt(), I, P) -> 597.68/151.32 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.68/151.32 isPalListKind^#(activate(I))) 597.68/151.32 , U72^#(tt(), P) -> 597.68/151.32 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.68/151.32 , isPal^#(V) -> 597.68/151.32 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) 597.68/151.32 , U81^#(tt(), V) -> 597.68/151.32 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) 597.68/151.32 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.68/151.32 , isNePal^#(V) -> 597.68/151.32 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) } 597.68/151.32 Weak Trs: 597.68/151.32 { __(X1, X2) -> n____(X1, X2) 597.68/151.32 , nil() -> n__nil() 597.68/151.32 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.32 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.32 , isPalListKind(n__nil()) -> tt() 597.68/151.32 , isPalListKind(n____(V1, V2)) -> 597.68/151.32 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.32 , isPalListKind(n__a()) -> tt() 597.68/151.32 , isPalListKind(n__e()) -> tt() 597.68/151.32 , isPalListKind(n__i()) -> tt() 597.68/151.32 , isPalListKind(n__o()) -> tt() 597.68/151.32 , isPalListKind(n__u()) -> tt() 597.68/151.32 , activate(X) -> X 597.68/151.32 , activate(n__nil()) -> nil() 597.68/151.32 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.32 , activate(n__a()) -> a() 597.68/151.32 , activate(n__e()) -> e() 597.68/151.32 , activate(n__i()) -> i() 597.68/151.32 , activate(n__o()) -> o() 597.68/151.32 , activate(n__u()) -> u() 597.68/151.32 , U13(tt()) -> tt() 597.68/151.32 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.32 , isNeList(n____(V1, V2)) -> 597.68/151.32 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.32 , isNeList(n____(V1, V2)) -> 597.68/151.32 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.32 , U21(tt(), V1, V2) -> 597.68/151.32 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.32 , U22(tt(), V1, V2) -> 597.68/151.32 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.32 , U23(tt(), V1, V2) -> 597.68/151.32 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.32 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.32 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.32 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.32 , isList(n__nil()) -> tt() 597.68/151.32 , isList(n____(V1, V2)) -> 597.68/151.32 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.32 , U26(tt()) -> tt() 597.68/151.32 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.32 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.32 , U33(tt()) -> tt() 597.68/151.32 , isQid(n__a()) -> tt() 597.68/151.32 , isQid(n__e()) -> tt() 597.68/151.32 , isQid(n__i()) -> tt() 597.68/151.32 , isQid(n__o()) -> tt() 597.68/151.32 , isQid(n__u()) -> tt() 597.68/151.32 , U41(tt(), V1, V2) -> 597.68/151.32 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.32 , U42(tt(), V1, V2) -> 597.68/151.32 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.32 , U43(tt(), V1, V2) -> 597.68/151.32 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.32 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.32 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.32 , U46(tt()) -> tt() 597.68/151.32 , U51(tt(), V1, V2) -> 597.68/151.32 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.32 , U52(tt(), V1, V2) -> 597.68/151.32 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.32 , U53(tt(), V1, V2) -> 597.68/151.32 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.32 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.32 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.32 , U56(tt()) -> tt() 597.68/151.32 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.32 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.32 , U63(tt()) -> tt() 597.68/151.32 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.32 , isPal(n__nil()) -> tt() 597.68/151.32 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.32 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.32 , U83(tt()) -> tt() 597.68/151.32 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.32 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.32 , U92(tt()) -> tt() 597.68/151.32 , a() -> n__a() 597.68/151.32 , e() -> n__e() 597.68/151.32 , i() -> n__i() 597.68/151.32 , o() -> n__o() 597.68/151.32 , u() -> n__u() } 597.68/151.32 Obligation: 597.68/151.32 innermost runtime complexity 597.68/151.32 Answer: 597.68/151.32 YES(O(1),O(n^1)) 597.68/151.32 597.68/151.32 We estimate the number of application of {3} by applications of 597.68/151.32 Pre({3}) = {2,18,21}. Here rules are labeled as follows: 597.68/151.32 597.68/151.32 DPs: 597.68/151.32 { 1: U11^#(tt(), V) -> 597.68/151.32 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) 597.68/151.32 , 2: U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.32 , 3: isNeList^#(V) -> 597.68/151.32 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) 597.68/151.32 , 4: isNeList^#(n____(V1, V2)) -> 597.68/151.32 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , 5: isNeList^#(n____(V1, V2)) -> 597.68/151.32 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , 6: U41^#(tt(), V1, V2) -> 597.68/151.32 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , 7: U51^#(tt(), V1, V2) -> 597.68/151.32 c_10(U52^#(isPalListKind(activate(V1)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , 8: U21^#(tt(), V1, V2) -> 597.68/151.32 c_11(U22^#(isPalListKind(activate(V1)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , 9: U22^#(tt(), V1, V2) -> 597.68/151.32 c_12(U23^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , 10: U23^#(tt(), V1, V2) -> 597.68/151.32 c_13(U24^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , 11: U24^#(tt(), V1, V2) -> 597.68/151.32 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.32 isList^#(activate(V1))) 597.68/151.32 , 12: U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.68/151.32 , 13: isList^#(V) -> 597.68/151.32 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.68/151.32 isPalListKind^#(activate(V))) 597.68/151.32 , 14: isList^#(n____(V1, V2)) -> 597.68/151.32 c_17(U21^#(isPalListKind(activate(V1)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V1))) 597.68/151.32 , 15: U42^#(tt(), V1, V2) -> 597.68/151.32 c_18(U43^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , 16: U43^#(tt(), V1, V2) -> 597.68/151.32 c_19(U44^#(isPalListKind(activate(V2)), 597.68/151.32 activate(V1), 597.68/151.32 activate(V2)), 597.68/151.32 isPalListKind^#(activate(V2))) 597.68/151.32 , 17: U44^#(tt(), V1, V2) -> 597.68/151.32 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.32 isList^#(activate(V1))) 597.68/151.32 , 18: U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.68/151.33 , 19: U52^#(tt(), V1, V2) -> 597.68/151.33 c_22(U53^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , 20: U53^#(tt(), V1, V2) -> 597.68/151.33 c_23(U54^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , 21: U54^#(tt(), V1, V2) -> 597.68/151.33 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.33 isNeList^#(activate(V1))) 597.68/151.33 , 22: U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.68/151.33 , 23: U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) 597.68/151.33 , 24: isPalListKind^#(n____(V1, V2)) -> 597.68/151.33 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , 25: U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.68/151.33 , 26: U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.68/151.33 , 27: U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.68/151.33 , 28: U71^#(tt(), I, P) -> 597.68/151.33 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.68/151.33 isPalListKind^#(activate(I))) 597.68/151.33 , 29: U72^#(tt(), P) -> 597.68/151.33 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.68/151.33 , 30: isPal^#(V) -> 597.68/151.33 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.68/151.33 isPalListKind^#(activate(V))) 597.68/151.33 , 31: U81^#(tt(), V) -> 597.68/151.33 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.68/151.33 isPalListKind^#(activate(V))) 597.68/151.33 , 32: U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.68/151.33 , 33: isNePal^#(V) -> 597.68/151.33 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.68/151.33 isPalListKind^#(activate(V))) } 597.68/151.33 597.68/151.33 We are left with following problem, upon which TcT provides the 597.68/151.33 certificate YES(O(1),O(n^1)). 597.68/151.33 597.68/151.33 Strict DPs: 597.68/151.33 { U11^#(tt(), V) -> 597.68/151.33 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.68/151.33 isPalListKind^#(activate(V))) 597.68/151.33 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.33 , isNeList^#(n____(V1, V2)) -> 597.68/151.33 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , isNeList^#(n____(V1, V2)) -> 597.68/151.33 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , U41^#(tt(), V1, V2) -> 597.68/151.33 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , U51^#(tt(), V1, V2) -> 597.68/151.33 c_10(U52^#(isPalListKind(activate(V1)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , U21^#(tt(), V1, V2) -> 597.68/151.33 c_11(U22^#(isPalListKind(activate(V1)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , U22^#(tt(), V1, V2) -> 597.68/151.33 c_12(U23^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , U23^#(tt(), V1, V2) -> 597.68/151.33 c_13(U24^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , U24^#(tt(), V1, V2) -> 597.68/151.33 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.33 isList^#(activate(V1))) 597.68/151.33 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.68/151.33 , isList^#(V) -> 597.68/151.33 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.68/151.33 isPalListKind^#(activate(V))) 597.68/151.33 , isList^#(n____(V1, V2)) -> 597.68/151.33 c_17(U21^#(isPalListKind(activate(V1)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , U42^#(tt(), V1, V2) -> 597.68/151.33 c_18(U43^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , U43^#(tt(), V1, V2) -> 597.68/151.33 c_19(U44^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , U44^#(tt(), V1, V2) -> 597.68/151.33 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.33 isList^#(activate(V1))) 597.68/151.33 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.68/151.33 , U52^#(tt(), V1, V2) -> 597.68/151.33 c_22(U53^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , U53^#(tt(), V1, V2) -> 597.68/151.33 c_23(U54^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , U54^#(tt(), V1, V2) -> 597.68/151.33 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.33 isNeList^#(activate(V1))) 597.68/151.33 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.68/151.33 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) } 597.68/151.33 Weak DPs: 597.68/151.33 { isPalListKind^#(n____(V1, V2)) -> 597.68/151.33 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , isNeList^#(V) -> 597.68/151.33 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.68/151.33 isPalListKind^#(activate(V))) 597.68/151.33 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.68/151.33 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.68/151.33 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.68/151.33 , U71^#(tt(), I, P) -> 597.68/151.33 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.68/151.33 isPalListKind^#(activate(I))) 597.68/151.33 , U72^#(tt(), P) -> 597.68/151.33 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.68/151.33 , isPal^#(V) -> 597.68/151.33 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.68/151.33 isPalListKind^#(activate(V))) 597.68/151.33 , U81^#(tt(), V) -> 597.68/151.33 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.68/151.33 isPalListKind^#(activate(V))) 597.68/151.33 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.68/151.33 , isNePal^#(V) -> 597.68/151.33 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.68/151.33 isPalListKind^#(activate(V))) } 597.68/151.33 Weak Trs: 597.68/151.33 { __(X1, X2) -> n____(X1, X2) 597.68/151.33 , nil() -> n__nil() 597.68/151.33 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.33 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.33 , isPalListKind(n__nil()) -> tt() 597.68/151.33 , isPalListKind(n____(V1, V2)) -> 597.68/151.33 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.33 , isPalListKind(n__a()) -> tt() 597.68/151.33 , isPalListKind(n__e()) -> tt() 597.68/151.33 , isPalListKind(n__i()) -> tt() 597.68/151.33 , isPalListKind(n__o()) -> tt() 597.68/151.33 , isPalListKind(n__u()) -> tt() 597.68/151.33 , activate(X) -> X 597.68/151.33 , activate(n__nil()) -> nil() 597.68/151.33 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.33 , activate(n__a()) -> a() 597.68/151.33 , activate(n__e()) -> e() 597.68/151.33 , activate(n__i()) -> i() 597.68/151.33 , activate(n__o()) -> o() 597.68/151.33 , activate(n__u()) -> u() 597.68/151.33 , U13(tt()) -> tt() 597.68/151.33 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.33 , isNeList(n____(V1, V2)) -> 597.68/151.33 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.33 , isNeList(n____(V1, V2)) -> 597.68/151.33 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.33 , U21(tt(), V1, V2) -> 597.68/151.33 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.33 , U22(tt(), V1, V2) -> 597.68/151.33 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.33 , U23(tt(), V1, V2) -> 597.68/151.33 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.33 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.33 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.33 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.33 , isList(n__nil()) -> tt() 597.68/151.33 , isList(n____(V1, V2)) -> 597.68/151.33 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.33 , U26(tt()) -> tt() 597.68/151.33 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.33 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.33 , U33(tt()) -> tt() 597.68/151.33 , isQid(n__a()) -> tt() 597.68/151.33 , isQid(n__e()) -> tt() 597.68/151.33 , isQid(n__i()) -> tt() 597.68/151.33 , isQid(n__o()) -> tt() 597.68/151.33 , isQid(n__u()) -> tt() 597.68/151.33 , U41(tt(), V1, V2) -> 597.68/151.33 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.33 , U42(tt(), V1, V2) -> 597.68/151.33 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.33 , U43(tt(), V1, V2) -> 597.68/151.33 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.33 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.33 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.33 , U46(tt()) -> tt() 597.68/151.33 , U51(tt(), V1, V2) -> 597.68/151.33 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.33 , U52(tt(), V1, V2) -> 597.68/151.33 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.33 , U53(tt(), V1, V2) -> 597.68/151.33 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.33 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.33 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.33 , U56(tt()) -> tt() 597.68/151.33 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.33 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.33 , U63(tt()) -> tt() 597.68/151.33 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.33 , isPal(n__nil()) -> tt() 597.68/151.33 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.33 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.33 , U83(tt()) -> tt() 597.68/151.33 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.33 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.33 , U92(tt()) -> tt() 597.68/151.33 , a() -> n__a() 597.68/151.33 , e() -> n__e() 597.68/151.33 , i() -> n__i() 597.68/151.33 , o() -> n__o() 597.68/151.33 , u() -> n__u() } 597.68/151.33 Obligation: 597.68/151.33 innermost runtime complexity 597.68/151.33 Answer: 597.68/151.33 YES(O(1),O(n^1)) 597.68/151.33 597.68/151.33 The following weak DPs constitute a sub-graph of the DG that is 597.68/151.33 closed under successors. The DPs are removed. 597.68/151.33 597.68/151.33 { isPalListKind^#(n____(V1, V2)) -> 597.68/151.33 c_3(U91^#(isPalListKind(activate(V1)), activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , isNeList^#(V) -> 597.68/151.33 c_4(U31^#(isPalListKind(activate(V)), activate(V)), 597.68/151.33 isPalListKind^#(activate(V))) 597.68/151.33 , U91^#(tt(), V2) -> c_7(isPalListKind^#(activate(V2))) 597.68/151.33 , U31^#(tt(), V) -> c_8(isPalListKind^#(activate(V))) 597.68/151.33 , U61^#(tt(), V) -> c_26(isPalListKind^#(activate(V))) 597.68/151.33 , isPal^#(V) -> 597.68/151.33 c_30(U81^#(isPalListKind(activate(V)), activate(V)), 597.68/151.33 isPalListKind^#(activate(V))) 597.68/151.33 , U81^#(tt(), V) -> 597.68/151.33 c_31(U82^#(isPalListKind(activate(V)), activate(V)), 597.68/151.33 isPalListKind^#(activate(V))) 597.68/151.33 , U82^#(tt(), V) -> c_32(isNePal^#(activate(V))) 597.68/151.33 , isNePal^#(V) -> 597.68/151.33 c_33(U61^#(isPalListKind(activate(V)), activate(V)), 597.68/151.33 isPalListKind^#(activate(V))) } 597.68/151.33 597.68/151.33 We are left with following problem, upon which TcT provides the 597.68/151.33 certificate YES(O(1),O(n^1)). 597.68/151.33 597.68/151.33 Strict DPs: 597.68/151.33 { U11^#(tt(), V) -> 597.68/151.33 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.68/151.33 isPalListKind^#(activate(V))) 597.68/151.33 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.33 , isNeList^#(n____(V1, V2)) -> 597.68/151.33 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , isNeList^#(n____(V1, V2)) -> 597.68/151.33 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , U41^#(tt(), V1, V2) -> 597.68/151.33 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , U51^#(tt(), V1, V2) -> 597.68/151.33 c_10(U52^#(isPalListKind(activate(V1)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , U21^#(tt(), V1, V2) -> 597.68/151.33 c_11(U22^#(isPalListKind(activate(V1)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , U22^#(tt(), V1, V2) -> 597.68/151.33 c_12(U23^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , U23^#(tt(), V1, V2) -> 597.68/151.33 c_13(U24^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , U24^#(tt(), V1, V2) -> 597.68/151.33 c_14(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.33 isList^#(activate(V1))) 597.68/151.33 , U25^#(tt(), V2) -> c_15(isList^#(activate(V2))) 597.68/151.33 , isList^#(V) -> 597.68/151.33 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.68/151.33 isPalListKind^#(activate(V))) 597.68/151.33 , isList^#(n____(V1, V2)) -> 597.68/151.33 c_17(U21^#(isPalListKind(activate(V1)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , U42^#(tt(), V1, V2) -> 597.68/151.33 c_18(U43^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , U43^#(tt(), V1, V2) -> 597.68/151.33 c_19(U44^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , U44^#(tt(), V1, V2) -> 597.68/151.33 c_20(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.33 isList^#(activate(V1))) 597.68/151.33 , U45^#(tt(), V2) -> c_21(isNeList^#(activate(V2))) 597.68/151.33 , U52^#(tt(), V1, V2) -> 597.68/151.33 c_22(U53^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , U53^#(tt(), V1, V2) -> 597.68/151.33 c_23(U54^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , U54^#(tt(), V1, V2) -> 597.68/151.33 c_24(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.33 isNeList^#(activate(V1))) 597.68/151.33 , U55^#(tt(), V2) -> c_25(isList^#(activate(V2))) 597.68/151.33 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) } 597.68/151.33 Weak DPs: 597.68/151.33 { U71^#(tt(), I, P) -> 597.68/151.33 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.68/151.33 isPalListKind^#(activate(I))) 597.68/151.33 , U72^#(tt(), P) -> 597.68/151.33 c_28(U73^#(isPal(activate(P)), activate(P)), 597.68/151.33 isPal^#(activate(P))) } 597.68/151.33 Weak Trs: 597.68/151.33 { __(X1, X2) -> n____(X1, X2) 597.68/151.33 , nil() -> n__nil() 597.68/151.33 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.33 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.33 , isPalListKind(n__nil()) -> tt() 597.68/151.33 , isPalListKind(n____(V1, V2)) -> 597.68/151.33 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.33 , isPalListKind(n__a()) -> tt() 597.68/151.33 , isPalListKind(n__e()) -> tt() 597.68/151.33 , isPalListKind(n__i()) -> tt() 597.68/151.33 , isPalListKind(n__o()) -> tt() 597.68/151.33 , isPalListKind(n__u()) -> tt() 597.68/151.33 , activate(X) -> X 597.68/151.33 , activate(n__nil()) -> nil() 597.68/151.33 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.33 , activate(n__a()) -> a() 597.68/151.33 , activate(n__e()) -> e() 597.68/151.33 , activate(n__i()) -> i() 597.68/151.33 , activate(n__o()) -> o() 597.68/151.33 , activate(n__u()) -> u() 597.68/151.33 , U13(tt()) -> tt() 597.68/151.33 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.33 , isNeList(n____(V1, V2)) -> 597.68/151.33 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.33 , isNeList(n____(V1, V2)) -> 597.68/151.33 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.33 , U21(tt(), V1, V2) -> 597.68/151.33 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.33 , U22(tt(), V1, V2) -> 597.68/151.33 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.33 , U23(tt(), V1, V2) -> 597.68/151.33 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.33 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.33 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.33 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.33 , isList(n__nil()) -> tt() 597.68/151.33 , isList(n____(V1, V2)) -> 597.68/151.33 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.33 , U26(tt()) -> tt() 597.68/151.33 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.33 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.33 , U33(tt()) -> tt() 597.68/151.33 , isQid(n__a()) -> tt() 597.68/151.33 , isQid(n__e()) -> tt() 597.68/151.33 , isQid(n__i()) -> tt() 597.68/151.33 , isQid(n__o()) -> tt() 597.68/151.33 , isQid(n__u()) -> tt() 597.68/151.33 , U41(tt(), V1, V2) -> 597.68/151.33 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.33 , U42(tt(), V1, V2) -> 597.68/151.33 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.33 , U43(tt(), V1, V2) -> 597.68/151.33 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.33 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.33 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.33 , U46(tt()) -> tt() 597.68/151.33 , U51(tt(), V1, V2) -> 597.68/151.33 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.33 , U52(tt(), V1, V2) -> 597.68/151.33 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.33 , U53(tt(), V1, V2) -> 597.68/151.33 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.33 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.33 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.33 , U56(tt()) -> tt() 597.68/151.33 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.33 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.33 , U63(tt()) -> tt() 597.68/151.33 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.33 , isPal(n__nil()) -> tt() 597.68/151.33 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.33 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.33 , U83(tt()) -> tt() 597.68/151.33 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.33 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.33 , U92(tt()) -> tt() 597.68/151.33 , a() -> n__a() 597.68/151.33 , e() -> n__e() 597.68/151.33 , i() -> n__i() 597.68/151.33 , o() -> n__o() 597.68/151.33 , u() -> n__u() } 597.68/151.33 Obligation: 597.68/151.33 innermost runtime complexity 597.68/151.33 Answer: 597.68/151.33 YES(O(1),O(n^1)) 597.68/151.33 597.68/151.33 Due to missing edges in the dependency-graph, the right-hand sides 597.68/151.33 of following rules could be simplified: 597.68/151.33 597.68/151.33 { U11^#(tt(), V) -> 597.68/151.33 c_1(U12^#(isPalListKind(activate(V)), activate(V)), 597.68/151.33 isPalListKind^#(activate(V))) 597.68/151.33 , isNeList^#(n____(V1, V2)) -> 597.68/151.33 c_5(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , isNeList^#(n____(V1, V2)) -> 597.68/151.33 c_6(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , U41^#(tt(), V1, V2) -> 597.68/151.33 c_9(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , U51^#(tt(), V1, V2) -> 597.68/151.33 c_10(U52^#(isPalListKind(activate(V1)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , U21^#(tt(), V1, V2) -> 597.68/151.33 c_11(U22^#(isPalListKind(activate(V1)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , U22^#(tt(), V1, V2) -> 597.68/151.33 c_12(U23^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , U23^#(tt(), V1, V2) -> 597.68/151.33 c_13(U24^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , isList^#(V) -> 597.68/151.33 c_16(U11^#(isPalListKind(activate(V)), activate(V)), 597.68/151.33 isPalListKind^#(activate(V))) 597.68/151.33 , isList^#(n____(V1, V2)) -> 597.68/151.33 c_17(U21^#(isPalListKind(activate(V1)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V1))) 597.68/151.33 , U42^#(tt(), V1, V2) -> 597.68/151.33 c_18(U43^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , U43^#(tt(), V1, V2) -> 597.68/151.33 c_19(U44^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , U52^#(tt(), V1, V2) -> 597.68/151.33 c_22(U53^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , U53^#(tt(), V1, V2) -> 597.68/151.33 c_23(U54^#(isPalListKind(activate(V2)), 597.68/151.33 activate(V1), 597.68/151.33 activate(V2)), 597.68/151.33 isPalListKind^#(activate(V2))) 597.68/151.33 , U71^#(tt(), I, P) -> 597.68/151.33 c_27(U72^#(isPalListKind(activate(I)), activate(P)), 597.68/151.33 isPalListKind^#(activate(I))) 597.68/151.33 , U72^#(tt(), P) -> 597.68/151.33 c_28(U73^#(isPal(activate(P)), activate(P)), isPal^#(activate(P))) 597.68/151.34 , U73^#(tt(), P) -> c_29(isPalListKind^#(activate(P))) } 597.68/151.34 597.68/151.34 We are left with following problem, upon which TcT provides the 597.68/151.34 certificate YES(O(1),O(n^1)). 597.68/151.34 597.68/151.34 Strict DPs: 597.68/151.34 { U11^#(tt(), V) -> 597.68/151.34 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.68/151.34 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.34 , isNeList^#(n____(V1, V2)) -> 597.68/151.34 c_3(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , isNeList^#(n____(V1, V2)) -> 597.68/151.34 c_4(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , U41^#(tt(), V1, V2) -> 597.68/151.34 c_5(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , U51^#(tt(), V1, V2) -> 597.68/151.34 c_6(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , U21^#(tt(), V1, V2) -> 597.68/151.34 c_7(U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , U22^#(tt(), V1, V2) -> 597.68/151.34 c_8(U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.34 , U23^#(tt(), V1, V2) -> 597.68/151.34 c_9(U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.34 , U24^#(tt(), V1, V2) -> 597.68/151.34 c_10(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.34 isList^#(activate(V1))) 597.68/151.34 , U25^#(tt(), V2) -> c_11(isList^#(activate(V2))) 597.68/151.34 , isList^#(V) -> 597.68/151.34 c_12(U11^#(isPalListKind(activate(V)), activate(V))) 597.68/151.34 , isList^#(n____(V1, V2)) -> 597.68/151.34 c_13(U21^#(isPalListKind(activate(V1)), 597.68/151.34 activate(V1), 597.68/151.34 activate(V2))) 597.68/151.34 , U42^#(tt(), V1, V2) -> 597.68/151.34 c_14(U43^#(isPalListKind(activate(V2)), 597.68/151.34 activate(V1), 597.68/151.34 activate(V2))) 597.68/151.34 , U43^#(tt(), V1, V2) -> 597.68/151.34 c_15(U44^#(isPalListKind(activate(V2)), 597.68/151.34 activate(V1), 597.68/151.34 activate(V2))) 597.68/151.34 , U44^#(tt(), V1, V2) -> 597.68/151.34 c_16(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.34 isList^#(activate(V1))) 597.68/151.34 , U45^#(tt(), V2) -> c_17(isNeList^#(activate(V2))) 597.68/151.34 , U52^#(tt(), V1, V2) -> 597.68/151.34 c_18(U53^#(isPalListKind(activate(V2)), 597.68/151.34 activate(V1), 597.68/151.34 activate(V2))) 597.68/151.34 , U53^#(tt(), V1, V2) -> 597.68/151.34 c_19(U54^#(isPalListKind(activate(V2)), 597.68/151.34 activate(V1), 597.68/151.34 activate(V2))) 597.68/151.34 , U54^#(tt(), V1, V2) -> 597.68/151.34 c_20(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.34 isNeList^#(activate(V1))) 597.68/151.34 , U55^#(tt(), V2) -> c_21(isList^#(activate(V2))) 597.68/151.34 , U73^#(tt(), P) -> c_22() } 597.68/151.34 Weak DPs: 597.68/151.34 { U71^#(tt(), I, P) -> 597.68/151.34 c_23(U72^#(isPalListKind(activate(I)), activate(P))) 597.68/151.34 , U72^#(tt(), P) -> c_24(U73^#(isPal(activate(P)), activate(P))) } 597.68/151.34 Weak Trs: 597.68/151.34 { __(X1, X2) -> n____(X1, X2) 597.68/151.34 , nil() -> n__nil() 597.68/151.34 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.34 , isPalListKind(n__nil()) -> tt() 597.68/151.34 , isPalListKind(n____(V1, V2)) -> 597.68/151.34 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.34 , isPalListKind(n__a()) -> tt() 597.68/151.34 , isPalListKind(n__e()) -> tt() 597.68/151.34 , isPalListKind(n__i()) -> tt() 597.68/151.34 , isPalListKind(n__o()) -> tt() 597.68/151.34 , isPalListKind(n__u()) -> tt() 597.68/151.34 , activate(X) -> X 597.68/151.34 , activate(n__nil()) -> nil() 597.68/151.34 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.34 , activate(n__a()) -> a() 597.68/151.34 , activate(n__e()) -> e() 597.68/151.34 , activate(n__i()) -> i() 597.68/151.34 , activate(n__o()) -> o() 597.68/151.34 , activate(n__u()) -> u() 597.68/151.34 , U13(tt()) -> tt() 597.68/151.34 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , isNeList(n____(V1, V2)) -> 597.68/151.34 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , isNeList(n____(V1, V2)) -> 597.68/151.34 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , U21(tt(), V1, V2) -> 597.68/151.34 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , U22(tt(), V1, V2) -> 597.68/151.34 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U23(tt(), V1, V2) -> 597.68/151.34 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.34 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.34 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , isList(n__nil()) -> tt() 597.68/151.34 , isList(n____(V1, V2)) -> 597.68/151.34 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , U26(tt()) -> tt() 597.68/151.34 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.34 , U33(tt()) -> tt() 597.68/151.34 , isQid(n__a()) -> tt() 597.68/151.34 , isQid(n__e()) -> tt() 597.68/151.34 , isQid(n__i()) -> tt() 597.68/151.34 , isQid(n__o()) -> tt() 597.68/151.34 , isQid(n__u()) -> tt() 597.68/151.34 , U41(tt(), V1, V2) -> 597.68/151.34 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , U42(tt(), V1, V2) -> 597.68/151.34 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U43(tt(), V1, V2) -> 597.68/151.34 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.34 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.34 , U46(tt()) -> tt() 597.68/151.34 , U51(tt(), V1, V2) -> 597.68/151.34 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , U52(tt(), V1, V2) -> 597.68/151.34 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U53(tt(), V1, V2) -> 597.68/151.34 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.34 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.34 , U56(tt()) -> tt() 597.68/151.34 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.34 , U63(tt()) -> tt() 597.68/151.34 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , isPal(n__nil()) -> tt() 597.68/151.34 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.34 , U83(tt()) -> tt() 597.68/151.34 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.34 , U92(tt()) -> tt() 597.68/151.34 , a() -> n__a() 597.68/151.34 , e() -> n__e() 597.68/151.34 , i() -> n__i() 597.68/151.34 , o() -> n__o() 597.68/151.34 , u() -> n__u() } 597.68/151.34 Obligation: 597.68/151.34 innermost runtime complexity 597.68/151.34 Answer: 597.68/151.34 YES(O(1),O(n^1)) 597.68/151.34 597.68/151.34 We analyse the complexity of following sub-problems (R) and (S). 597.68/151.34 Problem (S) is obtained from the input problem by shifting strict 597.68/151.34 rules from (R) into the weak component: 597.68/151.34 597.68/151.34 Problem (R): 597.68/151.34 ------------ 597.68/151.34 Strict DPs: { U73^#(tt(), P) -> c_22() } 597.68/151.34 Weak DPs: 597.68/151.34 { U11^#(tt(), V) -> 597.68/151.34 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.68/151.34 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.34 , isNeList^#(n____(V1, V2)) -> 597.68/151.34 c_3(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , isNeList^#(n____(V1, V2)) -> 597.68/151.34 c_4(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , U41^#(tt(), V1, V2) -> 597.68/151.34 c_5(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , U51^#(tt(), V1, V2) -> 597.68/151.34 c_6(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , U21^#(tt(), V1, V2) -> 597.68/151.34 c_7(U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , U22^#(tt(), V1, V2) -> 597.68/151.34 c_8(U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.34 , U23^#(tt(), V1, V2) -> 597.68/151.34 c_9(U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.34 , U24^#(tt(), V1, V2) -> 597.68/151.34 c_10(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.34 isList^#(activate(V1))) 597.68/151.34 , U25^#(tt(), V2) -> c_11(isList^#(activate(V2))) 597.68/151.34 , isList^#(V) -> 597.68/151.34 c_12(U11^#(isPalListKind(activate(V)), activate(V))) 597.68/151.34 , isList^#(n____(V1, V2)) -> 597.68/151.34 c_13(U21^#(isPalListKind(activate(V1)), 597.68/151.34 activate(V1), 597.68/151.34 activate(V2))) 597.68/151.34 , U42^#(tt(), V1, V2) -> 597.68/151.34 c_14(U43^#(isPalListKind(activate(V2)), 597.68/151.34 activate(V1), 597.68/151.34 activate(V2))) 597.68/151.34 , U43^#(tt(), V1, V2) -> 597.68/151.34 c_15(U44^#(isPalListKind(activate(V2)), 597.68/151.34 activate(V1), 597.68/151.34 activate(V2))) 597.68/151.34 , U44^#(tt(), V1, V2) -> 597.68/151.34 c_16(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.34 isList^#(activate(V1))) 597.68/151.34 , U45^#(tt(), V2) -> c_17(isNeList^#(activate(V2))) 597.68/151.34 , U52^#(tt(), V1, V2) -> 597.68/151.34 c_18(U53^#(isPalListKind(activate(V2)), 597.68/151.34 activate(V1), 597.68/151.34 activate(V2))) 597.68/151.34 , U53^#(tt(), V1, V2) -> 597.68/151.34 c_19(U54^#(isPalListKind(activate(V2)), 597.68/151.34 activate(V1), 597.68/151.34 activate(V2))) 597.68/151.34 , U54^#(tt(), V1, V2) -> 597.68/151.34 c_20(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.34 isNeList^#(activate(V1))) 597.68/151.34 , U55^#(tt(), V2) -> c_21(isList^#(activate(V2))) 597.68/151.34 , U71^#(tt(), I, P) -> 597.68/151.34 c_23(U72^#(isPalListKind(activate(I)), activate(P))) 597.68/151.34 , U72^#(tt(), P) -> c_24(U73^#(isPal(activate(P)), activate(P))) } 597.68/151.34 Weak Trs: 597.68/151.34 { __(X1, X2) -> n____(X1, X2) 597.68/151.34 , nil() -> n__nil() 597.68/151.34 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.34 , isPalListKind(n__nil()) -> tt() 597.68/151.34 , isPalListKind(n____(V1, V2)) -> 597.68/151.34 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.34 , isPalListKind(n__a()) -> tt() 597.68/151.34 , isPalListKind(n__e()) -> tt() 597.68/151.34 , isPalListKind(n__i()) -> tt() 597.68/151.34 , isPalListKind(n__o()) -> tt() 597.68/151.34 , isPalListKind(n__u()) -> tt() 597.68/151.34 , activate(X) -> X 597.68/151.34 , activate(n__nil()) -> nil() 597.68/151.34 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.34 , activate(n__a()) -> a() 597.68/151.34 , activate(n__e()) -> e() 597.68/151.34 , activate(n__i()) -> i() 597.68/151.34 , activate(n__o()) -> o() 597.68/151.34 , activate(n__u()) -> u() 597.68/151.34 , U13(tt()) -> tt() 597.68/151.34 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , isNeList(n____(V1, V2)) -> 597.68/151.34 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , isNeList(n____(V1, V2)) -> 597.68/151.34 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , U21(tt(), V1, V2) -> 597.68/151.34 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , U22(tt(), V1, V2) -> 597.68/151.34 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U23(tt(), V1, V2) -> 597.68/151.34 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.34 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.34 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , isList(n__nil()) -> tt() 597.68/151.34 , isList(n____(V1, V2)) -> 597.68/151.34 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , U26(tt()) -> tt() 597.68/151.34 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.34 , U33(tt()) -> tt() 597.68/151.34 , isQid(n__a()) -> tt() 597.68/151.34 , isQid(n__e()) -> tt() 597.68/151.34 , isQid(n__i()) -> tt() 597.68/151.34 , isQid(n__o()) -> tt() 597.68/151.34 , isQid(n__u()) -> tt() 597.68/151.34 , U41(tt(), V1, V2) -> 597.68/151.34 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , U42(tt(), V1, V2) -> 597.68/151.34 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U43(tt(), V1, V2) -> 597.68/151.34 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.34 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.34 , U46(tt()) -> tt() 597.68/151.34 , U51(tt(), V1, V2) -> 597.68/151.34 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , U52(tt(), V1, V2) -> 597.68/151.34 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U53(tt(), V1, V2) -> 597.68/151.34 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.34 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.34 , U56(tt()) -> tt() 597.68/151.34 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.34 , U63(tt()) -> tt() 597.68/151.34 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , isPal(n__nil()) -> tt() 597.68/151.34 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.34 , U83(tt()) -> tt() 597.68/151.34 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.34 , U92(tt()) -> tt() 597.68/151.34 , a() -> n__a() 597.68/151.34 , e() -> n__e() 597.68/151.34 , i() -> n__i() 597.68/151.34 , o() -> n__o() 597.68/151.34 , u() -> n__u() } 597.68/151.34 StartTerms: basic terms 597.68/151.34 Strategy: innermost 597.68/151.34 597.68/151.34 Problem (S): 597.68/151.34 ------------ 597.68/151.34 Strict DPs: 597.68/151.34 { U11^#(tt(), V) -> 597.68/151.34 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.68/151.34 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.34 , isNeList^#(n____(V1, V2)) -> 597.68/151.34 c_3(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , isNeList^#(n____(V1, V2)) -> 597.68/151.34 c_4(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , U41^#(tt(), V1, V2) -> 597.68/151.34 c_5(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , U51^#(tt(), V1, V2) -> 597.68/151.34 c_6(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , U21^#(tt(), V1, V2) -> 597.68/151.34 c_7(U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , U22^#(tt(), V1, V2) -> 597.68/151.34 c_8(U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.34 , U23^#(tt(), V1, V2) -> 597.68/151.34 c_9(U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.34 , U24^#(tt(), V1, V2) -> 597.68/151.34 c_10(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.34 isList^#(activate(V1))) 597.68/151.34 , U25^#(tt(), V2) -> c_11(isList^#(activate(V2))) 597.68/151.34 , isList^#(V) -> 597.68/151.34 c_12(U11^#(isPalListKind(activate(V)), activate(V))) 597.68/151.34 , isList^#(n____(V1, V2)) -> 597.68/151.34 c_13(U21^#(isPalListKind(activate(V1)), 597.68/151.34 activate(V1), 597.68/151.34 activate(V2))) 597.68/151.34 , U42^#(tt(), V1, V2) -> 597.68/151.34 c_14(U43^#(isPalListKind(activate(V2)), 597.68/151.34 activate(V1), 597.68/151.34 activate(V2))) 597.68/151.34 , U43^#(tt(), V1, V2) -> 597.68/151.34 c_15(U44^#(isPalListKind(activate(V2)), 597.68/151.34 activate(V1), 597.68/151.34 activate(V2))) 597.68/151.34 , U44^#(tt(), V1, V2) -> 597.68/151.34 c_16(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.34 isList^#(activate(V1))) 597.68/151.34 , U45^#(tt(), V2) -> c_17(isNeList^#(activate(V2))) 597.68/151.34 , U52^#(tt(), V1, V2) -> 597.68/151.34 c_18(U53^#(isPalListKind(activate(V2)), 597.68/151.34 activate(V1), 597.68/151.34 activate(V2))) 597.68/151.34 , U53^#(tt(), V1, V2) -> 597.68/151.34 c_19(U54^#(isPalListKind(activate(V2)), 597.68/151.34 activate(V1), 597.68/151.34 activate(V2))) 597.68/151.34 , U54^#(tt(), V1, V2) -> 597.68/151.34 c_20(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.34 isNeList^#(activate(V1))) 597.68/151.34 , U55^#(tt(), V2) -> c_21(isList^#(activate(V2))) } 597.68/151.34 Weak DPs: 597.68/151.34 { U71^#(tt(), I, P) -> 597.68/151.34 c_23(U72^#(isPalListKind(activate(I)), activate(P))) 597.68/151.34 , U72^#(tt(), P) -> c_24(U73^#(isPal(activate(P)), activate(P))) 597.68/151.34 , U73^#(tt(), P) -> c_22() } 597.68/151.34 Weak Trs: 597.68/151.34 { __(X1, X2) -> n____(X1, X2) 597.68/151.34 , nil() -> n__nil() 597.68/151.34 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.34 , isPalListKind(n__nil()) -> tt() 597.68/151.34 , isPalListKind(n____(V1, V2)) -> 597.68/151.34 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.34 , isPalListKind(n__a()) -> tt() 597.68/151.34 , isPalListKind(n__e()) -> tt() 597.68/151.34 , isPalListKind(n__i()) -> tt() 597.68/151.34 , isPalListKind(n__o()) -> tt() 597.68/151.34 , isPalListKind(n__u()) -> tt() 597.68/151.34 , activate(X) -> X 597.68/151.34 , activate(n__nil()) -> nil() 597.68/151.34 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.34 , activate(n__a()) -> a() 597.68/151.34 , activate(n__e()) -> e() 597.68/151.34 , activate(n__i()) -> i() 597.68/151.34 , activate(n__o()) -> o() 597.68/151.34 , activate(n__u()) -> u() 597.68/151.34 , U13(tt()) -> tt() 597.68/151.34 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , isNeList(n____(V1, V2)) -> 597.68/151.34 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , isNeList(n____(V1, V2)) -> 597.68/151.34 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , U21(tt(), V1, V2) -> 597.68/151.34 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , U22(tt(), V1, V2) -> 597.68/151.34 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U23(tt(), V1, V2) -> 597.68/151.34 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.34 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.34 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , isList(n__nil()) -> tt() 597.68/151.34 , isList(n____(V1, V2)) -> 597.68/151.34 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , U26(tt()) -> tt() 597.68/151.34 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.34 , U33(tt()) -> tt() 597.68/151.34 , isQid(n__a()) -> tt() 597.68/151.34 , isQid(n__e()) -> tt() 597.68/151.34 , isQid(n__i()) -> tt() 597.68/151.34 , isQid(n__o()) -> tt() 597.68/151.34 , isQid(n__u()) -> tt() 597.68/151.34 , U41(tt(), V1, V2) -> 597.68/151.34 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , U42(tt(), V1, V2) -> 597.68/151.34 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U43(tt(), V1, V2) -> 597.68/151.34 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.34 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.34 , U46(tt()) -> tt() 597.68/151.34 , U51(tt(), V1, V2) -> 597.68/151.34 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.34 , U52(tt(), V1, V2) -> 597.68/151.34 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U53(tt(), V1, V2) -> 597.68/151.34 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.34 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.34 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.34 , U56(tt()) -> tt() 597.68/151.34 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.34 , U63(tt()) -> tt() 597.68/151.34 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , isPal(n__nil()) -> tt() 597.68/151.34 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.34 , U83(tt()) -> tt() 597.68/151.34 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.34 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.34 , U92(tt()) -> tt() 597.68/151.34 , a() -> n__a() 597.68/151.34 , e() -> n__e() 597.68/151.34 , i() -> n__i() 597.68/151.34 , o() -> n__o() 597.68/151.34 , u() -> n__u() } 597.68/151.34 StartTerms: basic terms 597.68/151.34 Strategy: innermost 597.68/151.34 597.68/151.34 Overall, the transformation results in the following sub-problem(s): 597.68/151.34 597.68/151.34 Generated new problems: 597.68/151.34 ----------------------- 597.68/151.34 R) Strict DPs: { U73^#(tt(), P) -> c_22() } 597.68/151.34 Weak DPs: 597.68/151.34 { U11^#(tt(), V) -> 597.68/151.34 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.68/151.34 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.34 , isNeList^#(n____(V1, V2)) -> 597.68/151.34 c_3(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , isNeList^#(n____(V1, V2)) -> 597.68/151.34 c_4(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , U41^#(tt(), V1, V2) -> 597.68/151.34 c_5(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , U51^#(tt(), V1, V2) -> 597.68/151.34 c_6(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , U21^#(tt(), V1, V2) -> 597.68/151.34 c_7(U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.34 , U22^#(tt(), V1, V2) -> 597.68/151.34 c_8(U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.34 , U23^#(tt(), V1, V2) -> 597.68/151.34 c_9(U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.34 , U24^#(tt(), V1, V2) -> 597.68/151.34 c_10(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.34 isList^#(activate(V1))) 597.68/151.35 , U25^#(tt(), V2) -> c_11(isList^#(activate(V2))) 597.68/151.35 , isList^#(V) -> 597.68/151.35 c_12(U11^#(isPalListKind(activate(V)), activate(V))) 597.68/151.35 , isList^#(n____(V1, V2)) -> 597.68/151.35 c_13(U21^#(isPalListKind(activate(V1)), 597.68/151.35 activate(V1), 597.68/151.35 activate(V2))) 597.68/151.35 , U42^#(tt(), V1, V2) -> 597.68/151.35 c_14(U43^#(isPalListKind(activate(V2)), 597.68/151.35 activate(V1), 597.68/151.35 activate(V2))) 597.68/151.35 , U43^#(tt(), V1, V2) -> 597.68/151.35 c_15(U44^#(isPalListKind(activate(V2)), 597.68/151.35 activate(V1), 597.68/151.35 activate(V2))) 597.68/151.35 , U44^#(tt(), V1, V2) -> 597.68/151.35 c_16(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.35 isList^#(activate(V1))) 597.68/151.35 , U45^#(tt(), V2) -> c_17(isNeList^#(activate(V2))) 597.68/151.35 , U52^#(tt(), V1, V2) -> 597.68/151.35 c_18(U53^#(isPalListKind(activate(V2)), 597.68/151.35 activate(V1), 597.68/151.35 activate(V2))) 597.68/151.35 , U53^#(tt(), V1, V2) -> 597.68/151.35 c_19(U54^#(isPalListKind(activate(V2)), 597.68/151.35 activate(V1), 597.68/151.35 activate(V2))) 597.68/151.35 , U54^#(tt(), V1, V2) -> 597.68/151.35 c_20(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.35 isNeList^#(activate(V1))) 597.68/151.35 , U55^#(tt(), V2) -> c_21(isList^#(activate(V2))) 597.68/151.35 , U71^#(tt(), I, P) -> 597.68/151.35 c_23(U72^#(isPalListKind(activate(I)), activate(P))) 597.68/151.35 , U72^#(tt(), P) -> c_24(U73^#(isPal(activate(P)), activate(P))) } 597.68/151.35 Weak Trs: 597.68/151.35 { __(X1, X2) -> n____(X1, X2) 597.68/151.35 , nil() -> n__nil() 597.68/151.35 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.35 , isPalListKind(n__nil()) -> tt() 597.68/151.35 , isPalListKind(n____(V1, V2)) -> 597.68/151.35 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.35 , isPalListKind(n__a()) -> tt() 597.68/151.35 , isPalListKind(n__e()) -> tt() 597.68/151.35 , isPalListKind(n__i()) -> tt() 597.68/151.35 , isPalListKind(n__o()) -> tt() 597.68/151.35 , isPalListKind(n__u()) -> tt() 597.68/151.35 , activate(X) -> X 597.68/151.35 , activate(n__nil()) -> nil() 597.68/151.35 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.35 , activate(n__a()) -> a() 597.68/151.35 , activate(n__e()) -> e() 597.68/151.35 , activate(n__i()) -> i() 597.68/151.35 , activate(n__o()) -> o() 597.68/151.35 , activate(n__u()) -> u() 597.68/151.35 , U13(tt()) -> tt() 597.68/151.35 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , isNeList(n____(V1, V2)) -> 597.68/151.35 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.35 , isNeList(n____(V1, V2)) -> 597.68/151.35 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.35 , U21(tt(), V1, V2) -> 597.68/151.35 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.35 , U22(tt(), V1, V2) -> 597.68/151.35 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.35 , U23(tt(), V1, V2) -> 597.68/151.35 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.35 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.35 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.35 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , isList(n__nil()) -> tt() 597.68/151.35 , isList(n____(V1, V2)) -> 597.68/151.35 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.35 , U26(tt()) -> tt() 597.68/151.35 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.35 , U33(tt()) -> tt() 597.68/151.35 , isQid(n__a()) -> tt() 597.68/151.35 , isQid(n__e()) -> tt() 597.68/151.35 , isQid(n__i()) -> tt() 597.68/151.35 , isQid(n__o()) -> tt() 597.68/151.35 , isQid(n__u()) -> tt() 597.68/151.35 , U41(tt(), V1, V2) -> 597.68/151.35 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.35 , U42(tt(), V1, V2) -> 597.68/151.35 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.35 , U43(tt(), V1, V2) -> 597.68/151.35 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.35 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.35 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.35 , U46(tt()) -> tt() 597.68/151.35 , U51(tt(), V1, V2) -> 597.68/151.35 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.35 , U52(tt(), V1, V2) -> 597.68/151.35 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.35 , U53(tt(), V1, V2) -> 597.68/151.35 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.35 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.35 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.35 , U56(tt()) -> tt() 597.68/151.35 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.35 , U63(tt()) -> tt() 597.68/151.35 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , isPal(n__nil()) -> tt() 597.68/151.35 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.35 , U83(tt()) -> tt() 597.68/151.35 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.35 , U92(tt()) -> tt() 597.68/151.35 , a() -> n__a() 597.68/151.35 , e() -> n__e() 597.68/151.35 , i() -> n__i() 597.68/151.35 , o() -> n__o() 597.68/151.35 , u() -> n__u() } 597.68/151.35 StartTerms: basic terms 597.68/151.35 Strategy: innermost 597.68/151.35 597.68/151.35 This problem was proven YES(O(1),O(1)). 597.68/151.35 597.68/151.35 S) Strict DPs: 597.68/151.35 { U11^#(tt(), V) -> 597.68/151.35 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.68/151.35 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.35 , isNeList^#(n____(V1, V2)) -> 597.68/151.35 c_3(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.35 , isNeList^#(n____(V1, V2)) -> 597.68/151.35 c_4(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.35 , U41^#(tt(), V1, V2) -> 597.68/151.35 c_5(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.35 , U51^#(tt(), V1, V2) -> 597.68/151.35 c_6(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.35 , U21^#(tt(), V1, V2) -> 597.68/151.35 c_7(U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.35 , U22^#(tt(), V1, V2) -> 597.68/151.35 c_8(U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.35 , U23^#(tt(), V1, V2) -> 597.68/151.35 c_9(U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.35 , U24^#(tt(), V1, V2) -> 597.68/151.35 c_10(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.35 isList^#(activate(V1))) 597.68/151.35 , U25^#(tt(), V2) -> c_11(isList^#(activate(V2))) 597.68/151.35 , isList^#(V) -> 597.68/151.35 c_12(U11^#(isPalListKind(activate(V)), activate(V))) 597.68/151.35 , isList^#(n____(V1, V2)) -> 597.68/151.35 c_13(U21^#(isPalListKind(activate(V1)), 597.68/151.35 activate(V1), 597.68/151.35 activate(V2))) 597.68/151.35 , U42^#(tt(), V1, V2) -> 597.68/151.35 c_14(U43^#(isPalListKind(activate(V2)), 597.68/151.35 activate(V1), 597.68/151.35 activate(V2))) 597.68/151.35 , U43^#(tt(), V1, V2) -> 597.68/151.35 c_15(U44^#(isPalListKind(activate(V2)), 597.68/151.35 activate(V1), 597.68/151.35 activate(V2))) 597.68/151.35 , U44^#(tt(), V1, V2) -> 597.68/151.35 c_16(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.35 isList^#(activate(V1))) 597.68/151.35 , U45^#(tt(), V2) -> c_17(isNeList^#(activate(V2))) 597.68/151.35 , U52^#(tt(), V1, V2) -> 597.68/151.35 c_18(U53^#(isPalListKind(activate(V2)), 597.68/151.35 activate(V1), 597.68/151.35 activate(V2))) 597.68/151.35 , U53^#(tt(), V1, V2) -> 597.68/151.35 c_19(U54^#(isPalListKind(activate(V2)), 597.68/151.35 activate(V1), 597.68/151.35 activate(V2))) 597.68/151.35 , U54^#(tt(), V1, V2) -> 597.68/151.35 c_20(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.35 isNeList^#(activate(V1))) 597.68/151.35 , U55^#(tt(), V2) -> c_21(isList^#(activate(V2))) } 597.68/151.35 Weak DPs: 597.68/151.35 { U71^#(tt(), I, P) -> 597.68/151.35 c_23(U72^#(isPalListKind(activate(I)), activate(P))) 597.68/151.35 , U72^#(tt(), P) -> c_24(U73^#(isPal(activate(P)), activate(P))) 597.68/151.35 , U73^#(tt(), P) -> c_22() } 597.68/151.35 Weak Trs: 597.68/151.35 { __(X1, X2) -> n____(X1, X2) 597.68/151.35 , nil() -> n__nil() 597.68/151.35 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.35 , isPalListKind(n__nil()) -> tt() 597.68/151.35 , isPalListKind(n____(V1, V2)) -> 597.68/151.35 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.35 , isPalListKind(n__a()) -> tt() 597.68/151.35 , isPalListKind(n__e()) -> tt() 597.68/151.35 , isPalListKind(n__i()) -> tt() 597.68/151.35 , isPalListKind(n__o()) -> tt() 597.68/151.35 , isPalListKind(n__u()) -> tt() 597.68/151.35 , activate(X) -> X 597.68/151.35 , activate(n__nil()) -> nil() 597.68/151.35 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.35 , activate(n__a()) -> a() 597.68/151.35 , activate(n__e()) -> e() 597.68/151.35 , activate(n__i()) -> i() 597.68/151.35 , activate(n__o()) -> o() 597.68/151.35 , activate(n__u()) -> u() 597.68/151.35 , U13(tt()) -> tt() 597.68/151.35 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , isNeList(n____(V1, V2)) -> 597.68/151.35 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.35 , isNeList(n____(V1, V2)) -> 597.68/151.35 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.35 , U21(tt(), V1, V2) -> 597.68/151.35 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.35 , U22(tt(), V1, V2) -> 597.68/151.35 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.35 , U23(tt(), V1, V2) -> 597.68/151.35 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.35 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.35 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.35 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , isList(n__nil()) -> tt() 597.68/151.35 , isList(n____(V1, V2)) -> 597.68/151.35 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.35 , U26(tt()) -> tt() 597.68/151.35 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.35 , U33(tt()) -> tt() 597.68/151.35 , isQid(n__a()) -> tt() 597.68/151.35 , isQid(n__e()) -> tt() 597.68/151.35 , isQid(n__i()) -> tt() 597.68/151.35 , isQid(n__o()) -> tt() 597.68/151.35 , isQid(n__u()) -> tt() 597.68/151.35 , U41(tt(), V1, V2) -> 597.68/151.35 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.35 , U42(tt(), V1, V2) -> 597.68/151.35 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.35 , U43(tt(), V1, V2) -> 597.68/151.35 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.35 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.35 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.35 , U46(tt()) -> tt() 597.68/151.35 , U51(tt(), V1, V2) -> 597.68/151.35 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.35 , U52(tt(), V1, V2) -> 597.68/151.35 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.35 , U53(tt(), V1, V2) -> 597.68/151.35 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.35 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.35 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.35 , U56(tt()) -> tt() 597.68/151.35 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.35 , U63(tt()) -> tt() 597.68/151.35 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , isPal(n__nil()) -> tt() 597.68/151.35 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.35 , U83(tt()) -> tt() 597.68/151.35 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.35 , U92(tt()) -> tt() 597.68/151.35 , a() -> n__a() 597.68/151.35 , e() -> n__e() 597.68/151.35 , i() -> n__i() 597.68/151.35 , o() -> n__o() 597.68/151.35 , u() -> n__u() } 597.68/151.35 StartTerms: basic terms 597.68/151.35 Strategy: innermost 597.68/151.35 597.68/151.35 This problem was proven YES(O(1),O(n^1)). 597.68/151.35 597.68/151.35 597.68/151.35 Proofs for generated problems: 597.68/151.35 ------------------------------ 597.68/151.35 R) We are left with following problem, upon which TcT provides the 597.68/151.35 certificate YES(O(1),O(1)). 597.68/151.35 597.68/151.35 Strict DPs: { U73^#(tt(), P) -> c_22() } 597.68/151.35 Weak DPs: 597.68/151.35 { U11^#(tt(), V) -> 597.68/151.35 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.68/151.35 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.35 , isNeList^#(n____(V1, V2)) -> 597.68/151.35 c_3(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.35 , isNeList^#(n____(V1, V2)) -> 597.68/151.35 c_4(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.35 , U41^#(tt(), V1, V2) -> 597.68/151.35 c_5(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.35 , U51^#(tt(), V1, V2) -> 597.68/151.35 c_6(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.35 , U21^#(tt(), V1, V2) -> 597.68/151.35 c_7(U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.35 , U22^#(tt(), V1, V2) -> 597.68/151.35 c_8(U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.35 , U23^#(tt(), V1, V2) -> 597.68/151.35 c_9(U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.35 , U24^#(tt(), V1, V2) -> 597.68/151.35 c_10(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.35 isList^#(activate(V1))) 597.68/151.35 , U25^#(tt(), V2) -> c_11(isList^#(activate(V2))) 597.68/151.35 , isList^#(V) -> 597.68/151.35 c_12(U11^#(isPalListKind(activate(V)), activate(V))) 597.68/151.35 , isList^#(n____(V1, V2)) -> 597.68/151.35 c_13(U21^#(isPalListKind(activate(V1)), 597.68/151.35 activate(V1), 597.68/151.35 activate(V2))) 597.68/151.35 , U42^#(tt(), V1, V2) -> 597.68/151.35 c_14(U43^#(isPalListKind(activate(V2)), 597.68/151.35 activate(V1), 597.68/151.35 activate(V2))) 597.68/151.35 , U43^#(tt(), V1, V2) -> 597.68/151.35 c_15(U44^#(isPalListKind(activate(V2)), 597.68/151.35 activate(V1), 597.68/151.35 activate(V2))) 597.68/151.35 , U44^#(tt(), V1, V2) -> 597.68/151.35 c_16(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.35 isList^#(activate(V1))) 597.68/151.35 , U45^#(tt(), V2) -> c_17(isNeList^#(activate(V2))) 597.68/151.35 , U52^#(tt(), V1, V2) -> 597.68/151.35 c_18(U53^#(isPalListKind(activate(V2)), 597.68/151.35 activate(V1), 597.68/151.35 activate(V2))) 597.68/151.35 , U53^#(tt(), V1, V2) -> 597.68/151.35 c_19(U54^#(isPalListKind(activate(V2)), 597.68/151.35 activate(V1), 597.68/151.35 activate(V2))) 597.68/151.35 , U54^#(tt(), V1, V2) -> 597.68/151.35 c_20(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.35 isNeList^#(activate(V1))) 597.68/151.35 , U55^#(tt(), V2) -> c_21(isList^#(activate(V2))) 597.68/151.35 , U71^#(tt(), I, P) -> 597.68/151.35 c_23(U72^#(isPalListKind(activate(I)), activate(P))) 597.68/151.35 , U72^#(tt(), P) -> c_24(U73^#(isPal(activate(P)), activate(P))) } 597.68/151.35 Weak Trs: 597.68/151.35 { __(X1, X2) -> n____(X1, X2) 597.68/151.35 , nil() -> n__nil() 597.68/151.35 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.35 , isPalListKind(n__nil()) -> tt() 597.68/151.35 , isPalListKind(n____(V1, V2)) -> 597.68/151.35 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.35 , isPalListKind(n__a()) -> tt() 597.68/151.35 , isPalListKind(n__e()) -> tt() 597.68/151.35 , isPalListKind(n__i()) -> tt() 597.68/151.35 , isPalListKind(n__o()) -> tt() 597.68/151.35 , isPalListKind(n__u()) -> tt() 597.68/151.35 , activate(X) -> X 597.68/151.35 , activate(n__nil()) -> nil() 597.68/151.35 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.35 , activate(n__a()) -> a() 597.68/151.35 , activate(n__e()) -> e() 597.68/151.35 , activate(n__i()) -> i() 597.68/151.35 , activate(n__o()) -> o() 597.68/151.35 , activate(n__u()) -> u() 597.68/151.35 , U13(tt()) -> tt() 597.68/151.35 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , isNeList(n____(V1, V2)) -> 597.68/151.35 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.35 , isNeList(n____(V1, V2)) -> 597.68/151.35 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.35 , U21(tt(), V1, V2) -> 597.68/151.35 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.35 , U22(tt(), V1, V2) -> 597.68/151.35 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.35 , U23(tt(), V1, V2) -> 597.68/151.35 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.35 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.35 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.35 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.35 , isList(n__nil()) -> tt() 597.68/151.36 , isList(n____(V1, V2)) -> 597.68/151.36 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.36 , U26(tt()) -> tt() 597.68/151.36 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.36 , U33(tt()) -> tt() 597.68/151.36 , isQid(n__a()) -> tt() 597.68/151.36 , isQid(n__e()) -> tt() 597.68/151.36 , isQid(n__i()) -> tt() 597.68/151.36 , isQid(n__o()) -> tt() 597.68/151.36 , isQid(n__u()) -> tt() 597.68/151.36 , U41(tt(), V1, V2) -> 597.68/151.36 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.36 , U42(tt(), V1, V2) -> 597.68/151.36 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.36 , U43(tt(), V1, V2) -> 597.68/151.36 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.36 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.36 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.36 , U46(tt()) -> tt() 597.68/151.36 , U51(tt(), V1, V2) -> 597.68/151.36 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.36 , U52(tt(), V1, V2) -> 597.68/151.36 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.36 , U53(tt(), V1, V2) -> 597.68/151.36 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.36 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.36 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.36 , U56(tt()) -> tt() 597.68/151.36 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.36 , U63(tt()) -> tt() 597.68/151.36 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , isPal(n__nil()) -> tt() 597.68/151.36 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.36 , U83(tt()) -> tt() 597.68/151.36 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.36 , U92(tt()) -> tt() 597.68/151.36 , a() -> n__a() 597.68/151.36 , e() -> n__e() 597.68/151.36 , i() -> n__i() 597.68/151.36 , o() -> n__o() 597.68/151.36 , u() -> n__u() } 597.68/151.36 Obligation: 597.68/151.36 innermost runtime complexity 597.68/151.36 Answer: 597.68/151.36 YES(O(1),O(1)) 597.68/151.36 597.68/151.36 The following weak DPs constitute a sub-graph of the DG that is 597.68/151.36 closed under successors. The DPs are removed. 597.68/151.36 597.68/151.36 { U11^#(tt(), V) -> 597.68/151.36 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.68/151.36 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.36 , isNeList^#(n____(V1, V2)) -> 597.68/151.36 c_3(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.36 , isNeList^#(n____(V1, V2)) -> 597.68/151.36 c_4(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.36 , U41^#(tt(), V1, V2) -> 597.68/151.36 c_5(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.36 , U51^#(tt(), V1, V2) -> 597.68/151.36 c_6(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.36 , U21^#(tt(), V1, V2) -> 597.68/151.36 c_7(U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.36 , U22^#(tt(), V1, V2) -> 597.68/151.36 c_8(U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.36 , U23^#(tt(), V1, V2) -> 597.68/151.36 c_9(U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.36 , U24^#(tt(), V1, V2) -> 597.68/151.36 c_10(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.36 isList^#(activate(V1))) 597.68/151.36 , U25^#(tt(), V2) -> c_11(isList^#(activate(V2))) 597.68/151.36 , isList^#(V) -> 597.68/151.36 c_12(U11^#(isPalListKind(activate(V)), activate(V))) 597.68/151.36 , isList^#(n____(V1, V2)) -> 597.68/151.36 c_13(U21^#(isPalListKind(activate(V1)), 597.68/151.36 activate(V1), 597.68/151.36 activate(V2))) 597.68/151.36 , U42^#(tt(), V1, V2) -> 597.68/151.36 c_14(U43^#(isPalListKind(activate(V2)), 597.68/151.36 activate(V1), 597.68/151.36 activate(V2))) 597.68/151.36 , U43^#(tt(), V1, V2) -> 597.68/151.36 c_15(U44^#(isPalListKind(activate(V2)), 597.68/151.36 activate(V1), 597.68/151.36 activate(V2))) 597.68/151.36 , U44^#(tt(), V1, V2) -> 597.68/151.36 c_16(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.36 isList^#(activate(V1))) 597.68/151.36 , U45^#(tt(), V2) -> c_17(isNeList^#(activate(V2))) 597.68/151.36 , U52^#(tt(), V1, V2) -> 597.68/151.36 c_18(U53^#(isPalListKind(activate(V2)), 597.68/151.36 activate(V1), 597.68/151.36 activate(V2))) 597.68/151.36 , U53^#(tt(), V1, V2) -> 597.68/151.36 c_19(U54^#(isPalListKind(activate(V2)), 597.68/151.36 activate(V1), 597.68/151.36 activate(V2))) 597.68/151.36 , U54^#(tt(), V1, V2) -> 597.68/151.36 c_20(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.36 isNeList^#(activate(V1))) 597.68/151.36 , U55^#(tt(), V2) -> c_21(isList^#(activate(V2))) } 597.68/151.36 597.68/151.36 We are left with following problem, upon which TcT provides the 597.68/151.36 certificate YES(O(1),O(1)). 597.68/151.36 597.68/151.36 Strict DPs: { U73^#(tt(), P) -> c_22() } 597.68/151.36 Weak DPs: 597.68/151.36 { U71^#(tt(), I, P) -> 597.68/151.36 c_23(U72^#(isPalListKind(activate(I)), activate(P))) 597.68/151.36 , U72^#(tt(), P) -> c_24(U73^#(isPal(activate(P)), activate(P))) } 597.68/151.36 Weak Trs: 597.68/151.36 { __(X1, X2) -> n____(X1, X2) 597.68/151.36 , nil() -> n__nil() 597.68/151.36 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.36 , isPalListKind(n__nil()) -> tt() 597.68/151.36 , isPalListKind(n____(V1, V2)) -> 597.68/151.36 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.36 , isPalListKind(n__a()) -> tt() 597.68/151.36 , isPalListKind(n__e()) -> tt() 597.68/151.36 , isPalListKind(n__i()) -> tt() 597.68/151.36 , isPalListKind(n__o()) -> tt() 597.68/151.36 , isPalListKind(n__u()) -> tt() 597.68/151.36 , activate(X) -> X 597.68/151.36 , activate(n__nil()) -> nil() 597.68/151.36 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.36 , activate(n__a()) -> a() 597.68/151.36 , activate(n__e()) -> e() 597.68/151.36 , activate(n__i()) -> i() 597.68/151.36 , activate(n__o()) -> o() 597.68/151.36 , activate(n__u()) -> u() 597.68/151.36 , U13(tt()) -> tt() 597.68/151.36 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , isNeList(n____(V1, V2)) -> 597.68/151.36 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.36 , isNeList(n____(V1, V2)) -> 597.68/151.36 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.36 , U21(tt(), V1, V2) -> 597.68/151.36 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.36 , U22(tt(), V1, V2) -> 597.68/151.36 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.36 , U23(tt(), V1, V2) -> 597.68/151.36 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.36 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.36 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.36 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , isList(n__nil()) -> tt() 597.68/151.36 , isList(n____(V1, V2)) -> 597.68/151.36 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.36 , U26(tt()) -> tt() 597.68/151.36 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.36 , U33(tt()) -> tt() 597.68/151.36 , isQid(n__a()) -> tt() 597.68/151.36 , isQid(n__e()) -> tt() 597.68/151.36 , isQid(n__i()) -> tt() 597.68/151.36 , isQid(n__o()) -> tt() 597.68/151.36 , isQid(n__u()) -> tt() 597.68/151.36 , U41(tt(), V1, V2) -> 597.68/151.36 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.36 , U42(tt(), V1, V2) -> 597.68/151.36 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.36 , U43(tt(), V1, V2) -> 597.68/151.36 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.36 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.36 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.36 , U46(tt()) -> tt() 597.68/151.36 , U51(tt(), V1, V2) -> 597.68/151.36 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.36 , U52(tt(), V1, V2) -> 597.68/151.36 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.36 , U53(tt(), V1, V2) -> 597.68/151.36 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.36 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.36 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.36 , U56(tt()) -> tt() 597.68/151.36 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.36 , U63(tt()) -> tt() 597.68/151.36 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , isPal(n__nil()) -> tt() 597.68/151.36 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.36 , U83(tt()) -> tt() 597.68/151.36 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.36 , U92(tt()) -> tt() 597.68/151.36 , a() -> n__a() 597.68/151.36 , e() -> n__e() 597.68/151.36 , i() -> n__i() 597.68/151.36 , o() -> n__o() 597.68/151.36 , u() -> n__u() } 597.68/151.36 Obligation: 597.68/151.36 innermost runtime complexity 597.68/151.36 Answer: 597.68/151.36 YES(O(1),O(1)) 597.68/151.36 597.68/151.36 The dependency graph contains no loops, we remove all dependency 597.68/151.36 pairs. 597.68/151.36 597.68/151.36 We are left with following problem, upon which TcT provides the 597.68/151.36 certificate YES(O(1),O(1)). 597.68/151.36 597.68/151.36 Weak Trs: 597.68/151.36 { __(X1, X2) -> n____(X1, X2) 597.68/151.36 , nil() -> n__nil() 597.68/151.36 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.36 , isPalListKind(n__nil()) -> tt() 597.68/151.36 , isPalListKind(n____(V1, V2)) -> 597.68/151.36 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.36 , isPalListKind(n__a()) -> tt() 597.68/151.36 , isPalListKind(n__e()) -> tt() 597.68/151.36 , isPalListKind(n__i()) -> tt() 597.68/151.36 , isPalListKind(n__o()) -> tt() 597.68/151.36 , isPalListKind(n__u()) -> tt() 597.68/151.36 , activate(X) -> X 597.68/151.36 , activate(n__nil()) -> nil() 597.68/151.36 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.36 , activate(n__a()) -> a() 597.68/151.36 , activate(n__e()) -> e() 597.68/151.36 , activate(n__i()) -> i() 597.68/151.36 , activate(n__o()) -> o() 597.68/151.36 , activate(n__u()) -> u() 597.68/151.36 , U13(tt()) -> tt() 597.68/151.36 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , isNeList(n____(V1, V2)) -> 597.68/151.36 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.36 , isNeList(n____(V1, V2)) -> 597.68/151.36 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.36 , U21(tt(), V1, V2) -> 597.68/151.36 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.36 , U22(tt(), V1, V2) -> 597.68/151.36 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.36 , U23(tt(), V1, V2) -> 597.68/151.36 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.36 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.36 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.36 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , isList(n__nil()) -> tt() 597.68/151.36 , isList(n____(V1, V2)) -> 597.68/151.36 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.36 , U26(tt()) -> tt() 597.68/151.36 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.36 , U33(tt()) -> tt() 597.68/151.36 , isQid(n__a()) -> tt() 597.68/151.36 , isQid(n__e()) -> tt() 597.68/151.36 , isQid(n__i()) -> tt() 597.68/151.36 , isQid(n__o()) -> tt() 597.68/151.36 , isQid(n__u()) -> tt() 597.68/151.36 , U41(tt(), V1, V2) -> 597.68/151.36 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.36 , U42(tt(), V1, V2) -> 597.68/151.36 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.36 , U43(tt(), V1, V2) -> 597.68/151.36 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.36 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.36 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.36 , U46(tt()) -> tt() 597.68/151.36 , U51(tt(), V1, V2) -> 597.68/151.36 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.36 , U52(tt(), V1, V2) -> 597.68/151.36 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.36 , U53(tt(), V1, V2) -> 597.68/151.36 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.36 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.36 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.36 , U56(tt()) -> tt() 597.68/151.36 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.36 , U63(tt()) -> tt() 597.68/151.36 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , isPal(n__nil()) -> tt() 597.68/151.36 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.36 , U83(tt()) -> tt() 597.68/151.36 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.36 , U92(tt()) -> tt() 597.68/151.36 , a() -> n__a() 597.68/151.36 , e() -> n__e() 597.68/151.36 , i() -> n__i() 597.68/151.36 , o() -> n__o() 597.68/151.36 , u() -> n__u() } 597.68/151.36 Obligation: 597.68/151.36 innermost runtime complexity 597.68/151.36 Answer: 597.68/151.36 YES(O(1),O(1)) 597.68/151.36 597.68/151.36 No rule is usable, rules are removed from the input problem. 597.68/151.36 597.68/151.36 We are left with following problem, upon which TcT provides the 597.68/151.36 certificate YES(O(1),O(1)). 597.68/151.36 597.68/151.36 Rules: Empty 597.68/151.36 Obligation: 597.68/151.36 innermost runtime complexity 597.68/151.36 Answer: 597.68/151.36 YES(O(1),O(1)) 597.68/151.36 597.68/151.36 Empty rules are trivially bounded 597.68/151.36 597.68/151.36 S) We are left with following problem, upon which TcT provides the 597.68/151.36 certificate YES(O(1),O(n^1)). 597.68/151.36 597.68/151.36 Strict DPs: 597.68/151.36 { U11^#(tt(), V) -> 597.68/151.36 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.68/151.36 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.36 , isNeList^#(n____(V1, V2)) -> 597.68/151.36 c_3(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.36 , isNeList^#(n____(V1, V2)) -> 597.68/151.36 c_4(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.36 , U41^#(tt(), V1, V2) -> 597.68/151.36 c_5(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.36 , U51^#(tt(), V1, V2) -> 597.68/151.36 c_6(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.36 , U21^#(tt(), V1, V2) -> 597.68/151.36 c_7(U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.36 , U22^#(tt(), V1, V2) -> 597.68/151.36 c_8(U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.36 , U23^#(tt(), V1, V2) -> 597.68/151.36 c_9(U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.36 , U24^#(tt(), V1, V2) -> 597.68/151.36 c_10(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.36 isList^#(activate(V1))) 597.68/151.36 , U25^#(tt(), V2) -> c_11(isList^#(activate(V2))) 597.68/151.36 , isList^#(V) -> 597.68/151.36 c_12(U11^#(isPalListKind(activate(V)), activate(V))) 597.68/151.36 , isList^#(n____(V1, V2)) -> 597.68/151.36 c_13(U21^#(isPalListKind(activate(V1)), 597.68/151.36 activate(V1), 597.68/151.36 activate(V2))) 597.68/151.36 , U42^#(tt(), V1, V2) -> 597.68/151.36 c_14(U43^#(isPalListKind(activate(V2)), 597.68/151.36 activate(V1), 597.68/151.36 activate(V2))) 597.68/151.36 , U43^#(tt(), V1, V2) -> 597.68/151.36 c_15(U44^#(isPalListKind(activate(V2)), 597.68/151.36 activate(V1), 597.68/151.36 activate(V2))) 597.68/151.36 , U44^#(tt(), V1, V2) -> 597.68/151.36 c_16(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.36 isList^#(activate(V1))) 597.68/151.36 , U45^#(tt(), V2) -> c_17(isNeList^#(activate(V2))) 597.68/151.36 , U52^#(tt(), V1, V2) -> 597.68/151.36 c_18(U53^#(isPalListKind(activate(V2)), 597.68/151.36 activate(V1), 597.68/151.36 activate(V2))) 597.68/151.36 , U53^#(tt(), V1, V2) -> 597.68/151.36 c_19(U54^#(isPalListKind(activate(V2)), 597.68/151.36 activate(V1), 597.68/151.36 activate(V2))) 597.68/151.36 , U54^#(tt(), V1, V2) -> 597.68/151.36 c_20(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.36 isNeList^#(activate(V1))) 597.68/151.36 , U55^#(tt(), V2) -> c_21(isList^#(activate(V2))) } 597.68/151.36 Weak DPs: 597.68/151.36 { U71^#(tt(), I, P) -> 597.68/151.36 c_23(U72^#(isPalListKind(activate(I)), activate(P))) 597.68/151.36 , U72^#(tt(), P) -> c_24(U73^#(isPal(activate(P)), activate(P))) 597.68/151.36 , U73^#(tt(), P) -> c_22() } 597.68/151.36 Weak Trs: 597.68/151.36 { __(X1, X2) -> n____(X1, X2) 597.68/151.36 , nil() -> n__nil() 597.68/151.36 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.36 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.36 , isPalListKind(n__nil()) -> tt() 597.68/151.36 , isPalListKind(n____(V1, V2)) -> 597.68/151.36 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.36 , isPalListKind(n__a()) -> tt() 597.68/151.37 , isPalListKind(n__e()) -> tt() 597.68/151.37 , isPalListKind(n__i()) -> tt() 597.68/151.37 , isPalListKind(n__o()) -> tt() 597.68/151.37 , isPalListKind(n__u()) -> tt() 597.68/151.37 , activate(X) -> X 597.68/151.37 , activate(n__nil()) -> nil() 597.68/151.37 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.37 , activate(n__a()) -> a() 597.68/151.37 , activate(n__e()) -> e() 597.68/151.37 , activate(n__i()) -> i() 597.68/151.37 , activate(n__o()) -> o() 597.68/151.37 , activate(n__u()) -> u() 597.68/151.37 , U13(tt()) -> tt() 597.68/151.37 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , isNeList(n____(V1, V2)) -> 597.68/151.37 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , isNeList(n____(V1, V2)) -> 597.68/151.37 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U21(tt(), V1, V2) -> 597.68/151.37 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U22(tt(), V1, V2) -> 597.68/151.37 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U23(tt(), V1, V2) -> 597.68/151.37 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.37 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.37 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , isList(n__nil()) -> tt() 597.68/151.37 , isList(n____(V1, V2)) -> 597.68/151.37 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U26(tt()) -> tt() 597.68/151.37 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.37 , U33(tt()) -> tt() 597.68/151.37 , isQid(n__a()) -> tt() 597.68/151.37 , isQid(n__e()) -> tt() 597.68/151.37 , isQid(n__i()) -> tt() 597.68/151.37 , isQid(n__o()) -> tt() 597.68/151.37 , isQid(n__u()) -> tt() 597.68/151.37 , U41(tt(), V1, V2) -> 597.68/151.37 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U42(tt(), V1, V2) -> 597.68/151.37 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U43(tt(), V1, V2) -> 597.68/151.37 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.37 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.37 , U46(tt()) -> tt() 597.68/151.37 , U51(tt(), V1, V2) -> 597.68/151.37 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U52(tt(), V1, V2) -> 597.68/151.37 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U53(tt(), V1, V2) -> 597.68/151.37 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.37 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.37 , U56(tt()) -> tt() 597.68/151.37 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.37 , U63(tt()) -> tt() 597.68/151.37 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , isPal(n__nil()) -> tt() 597.68/151.37 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.37 , U83(tt()) -> tt() 597.68/151.37 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.37 , U92(tt()) -> tt() 597.68/151.37 , a() -> n__a() 597.68/151.37 , e() -> n__e() 597.68/151.37 , i() -> n__i() 597.68/151.37 , o() -> n__o() 597.68/151.37 , u() -> n__u() } 597.68/151.37 Obligation: 597.68/151.37 innermost runtime complexity 597.68/151.37 Answer: 597.68/151.37 YES(O(1),O(n^1)) 597.68/151.37 597.68/151.37 The following weak DPs constitute a sub-graph of the DG that is 597.68/151.37 closed under successors. The DPs are removed. 597.68/151.37 597.68/151.37 { U71^#(tt(), I, P) -> 597.68/151.37 c_23(U72^#(isPalListKind(activate(I)), activate(P))) 597.68/151.37 , U72^#(tt(), P) -> c_24(U73^#(isPal(activate(P)), activate(P))) 597.68/151.37 , U73^#(tt(), P) -> c_22() } 597.68/151.37 597.68/151.37 We are left with following problem, upon which TcT provides the 597.68/151.37 certificate YES(O(1),O(n^1)). 597.68/151.37 597.68/151.37 Strict DPs: 597.68/151.37 { U11^#(tt(), V) -> 597.68/151.37 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.68/151.37 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.37 , isNeList^#(n____(V1, V2)) -> 597.68/151.37 c_3(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.37 , isNeList^#(n____(V1, V2)) -> 597.68/151.37 c_4(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.37 , U41^#(tt(), V1, V2) -> 597.68/151.37 c_5(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.37 , U51^#(tt(), V1, V2) -> 597.68/151.37 c_6(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.37 , U21^#(tt(), V1, V2) -> 597.68/151.37 c_7(U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.37 , U22^#(tt(), V1, V2) -> 597.68/151.37 c_8(U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.37 , U23^#(tt(), V1, V2) -> 597.68/151.37 c_9(U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.37 , U24^#(tt(), V1, V2) -> 597.68/151.37 c_10(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.37 isList^#(activate(V1))) 597.68/151.37 , U25^#(tt(), V2) -> c_11(isList^#(activate(V2))) 597.68/151.37 , isList^#(V) -> 597.68/151.37 c_12(U11^#(isPalListKind(activate(V)), activate(V))) 597.68/151.37 , isList^#(n____(V1, V2)) -> 597.68/151.37 c_13(U21^#(isPalListKind(activate(V1)), 597.68/151.37 activate(V1), 597.68/151.37 activate(V2))) 597.68/151.37 , U42^#(tt(), V1, V2) -> 597.68/151.37 c_14(U43^#(isPalListKind(activate(V2)), 597.68/151.37 activate(V1), 597.68/151.37 activate(V2))) 597.68/151.37 , U43^#(tt(), V1, V2) -> 597.68/151.37 c_15(U44^#(isPalListKind(activate(V2)), 597.68/151.37 activate(V1), 597.68/151.37 activate(V2))) 597.68/151.37 , U44^#(tt(), V1, V2) -> 597.68/151.37 c_16(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.37 isList^#(activate(V1))) 597.68/151.37 , U45^#(tt(), V2) -> c_17(isNeList^#(activate(V2))) 597.68/151.37 , U52^#(tt(), V1, V2) -> 597.68/151.37 c_18(U53^#(isPalListKind(activate(V2)), 597.68/151.37 activate(V1), 597.68/151.37 activate(V2))) 597.68/151.37 , U53^#(tt(), V1, V2) -> 597.68/151.37 c_19(U54^#(isPalListKind(activate(V2)), 597.68/151.37 activate(V1), 597.68/151.37 activate(V2))) 597.68/151.37 , U54^#(tt(), V1, V2) -> 597.68/151.37 c_20(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.37 isNeList^#(activate(V1))) 597.68/151.37 , U55^#(tt(), V2) -> c_21(isList^#(activate(V2))) } 597.68/151.37 Weak Trs: 597.68/151.37 { __(X1, X2) -> n____(X1, X2) 597.68/151.37 , nil() -> n__nil() 597.68/151.37 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.37 , isPalListKind(n__nil()) -> tt() 597.68/151.37 , isPalListKind(n____(V1, V2)) -> 597.68/151.37 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.37 , isPalListKind(n__a()) -> tt() 597.68/151.37 , isPalListKind(n__e()) -> tt() 597.68/151.37 , isPalListKind(n__i()) -> tt() 597.68/151.37 , isPalListKind(n__o()) -> tt() 597.68/151.37 , isPalListKind(n__u()) -> tt() 597.68/151.37 , activate(X) -> X 597.68/151.37 , activate(n__nil()) -> nil() 597.68/151.37 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.37 , activate(n__a()) -> a() 597.68/151.37 , activate(n__e()) -> e() 597.68/151.37 , activate(n__i()) -> i() 597.68/151.37 , activate(n__o()) -> o() 597.68/151.37 , activate(n__u()) -> u() 597.68/151.37 , U13(tt()) -> tt() 597.68/151.37 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , isNeList(n____(V1, V2)) -> 597.68/151.37 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , isNeList(n____(V1, V2)) -> 597.68/151.37 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U21(tt(), V1, V2) -> 597.68/151.37 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U22(tt(), V1, V2) -> 597.68/151.37 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U23(tt(), V1, V2) -> 597.68/151.37 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.37 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.37 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , isList(n__nil()) -> tt() 597.68/151.37 , isList(n____(V1, V2)) -> 597.68/151.37 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U26(tt()) -> tt() 597.68/151.37 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.37 , U33(tt()) -> tt() 597.68/151.37 , isQid(n__a()) -> tt() 597.68/151.37 , isQid(n__e()) -> tt() 597.68/151.37 , isQid(n__i()) -> tt() 597.68/151.37 , isQid(n__o()) -> tt() 597.68/151.37 , isQid(n__u()) -> tt() 597.68/151.37 , U41(tt(), V1, V2) -> 597.68/151.37 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U42(tt(), V1, V2) -> 597.68/151.37 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U43(tt(), V1, V2) -> 597.68/151.37 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.37 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.37 , U46(tt()) -> tt() 597.68/151.37 , U51(tt(), V1, V2) -> 597.68/151.37 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U52(tt(), V1, V2) -> 597.68/151.37 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U53(tt(), V1, V2) -> 597.68/151.37 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.37 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.37 , U56(tt()) -> tt() 597.68/151.37 , U61(tt(), V) -> U62(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , U62(tt(), V) -> U63(isQid(activate(V))) 597.68/151.37 , U63(tt()) -> tt() 597.68/151.37 , isPal(V) -> U81(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , isPal(n__nil()) -> tt() 597.68/151.37 , U81(tt(), V) -> U82(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , U82(tt(), V) -> U83(isNePal(activate(V))) 597.68/151.37 , U83(tt()) -> tt() 597.68/151.37 , isNePal(V) -> U61(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.37 , U92(tt()) -> tt() 597.68/151.37 , a() -> n__a() 597.68/151.37 , e() -> n__e() 597.68/151.37 , i() -> n__i() 597.68/151.37 , o() -> n__o() 597.68/151.37 , u() -> n__u() } 597.68/151.37 Obligation: 597.68/151.37 innermost runtime complexity 597.68/151.37 Answer: 597.68/151.37 YES(O(1),O(n^1)) 597.68/151.37 597.68/151.37 We replace rewrite rules by usable rules: 597.68/151.37 597.68/151.37 Weak Usable Rules: 597.68/151.37 { __(X1, X2) -> n____(X1, X2) 597.68/151.37 , nil() -> n__nil() 597.68/151.37 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.37 , isPalListKind(n__nil()) -> tt() 597.68/151.37 , isPalListKind(n____(V1, V2)) -> 597.68/151.37 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.37 , isPalListKind(n__a()) -> tt() 597.68/151.37 , isPalListKind(n__e()) -> tt() 597.68/151.37 , isPalListKind(n__i()) -> tt() 597.68/151.37 , isPalListKind(n__o()) -> tt() 597.68/151.37 , isPalListKind(n__u()) -> tt() 597.68/151.37 , activate(X) -> X 597.68/151.37 , activate(n__nil()) -> nil() 597.68/151.37 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.37 , activate(n__a()) -> a() 597.68/151.37 , activate(n__e()) -> e() 597.68/151.37 , activate(n__i()) -> i() 597.68/151.37 , activate(n__o()) -> o() 597.68/151.37 , activate(n__u()) -> u() 597.68/151.37 , U13(tt()) -> tt() 597.68/151.37 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , isNeList(n____(V1, V2)) -> 597.68/151.37 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , isNeList(n____(V1, V2)) -> 597.68/151.37 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U21(tt(), V1, V2) -> 597.68/151.37 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U22(tt(), V1, V2) -> 597.68/151.37 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U23(tt(), V1, V2) -> 597.68/151.37 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.37 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.37 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , isList(n__nil()) -> tt() 597.68/151.37 , isList(n____(V1, V2)) -> 597.68/151.37 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U26(tt()) -> tt() 597.68/151.37 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.37 , U33(tt()) -> tt() 597.68/151.37 , isQid(n__a()) -> tt() 597.68/151.37 , isQid(n__e()) -> tt() 597.68/151.37 , isQid(n__i()) -> tt() 597.68/151.37 , isQid(n__o()) -> tt() 597.68/151.37 , isQid(n__u()) -> tt() 597.68/151.37 , U41(tt(), V1, V2) -> 597.68/151.37 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U42(tt(), V1, V2) -> 597.68/151.37 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U43(tt(), V1, V2) -> 597.68/151.37 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.37 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.37 , U46(tt()) -> tt() 597.68/151.37 , U51(tt(), V1, V2) -> 597.68/151.37 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U52(tt(), V1, V2) -> 597.68/151.37 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U53(tt(), V1, V2) -> 597.68/151.37 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.37 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.37 , U56(tt()) -> tt() 597.68/151.37 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.37 , U92(tt()) -> tt() 597.68/151.37 , a() -> n__a() 597.68/151.37 , e() -> n__e() 597.68/151.37 , i() -> n__i() 597.68/151.37 , o() -> n__o() 597.68/151.37 , u() -> n__u() } 597.68/151.37 597.68/151.37 We are left with following problem, upon which TcT provides the 597.68/151.37 certificate YES(O(1),O(n^1)). 597.68/151.37 597.68/151.37 Strict DPs: 597.68/151.37 { U11^#(tt(), V) -> 597.68/151.37 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.68/151.37 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.37 , isNeList^#(n____(V1, V2)) -> 597.68/151.37 c_3(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.37 , isNeList^#(n____(V1, V2)) -> 597.68/151.37 c_4(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.37 , U41^#(tt(), V1, V2) -> 597.68/151.37 c_5(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.37 , U51^#(tt(), V1, V2) -> 597.68/151.37 c_6(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.37 , U21^#(tt(), V1, V2) -> 597.68/151.37 c_7(U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.37 , U22^#(tt(), V1, V2) -> 597.68/151.37 c_8(U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.37 , U23^#(tt(), V1, V2) -> 597.68/151.37 c_9(U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.37 , U24^#(tt(), V1, V2) -> 597.68/151.37 c_10(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.37 isList^#(activate(V1))) 597.68/151.37 , U25^#(tt(), V2) -> c_11(isList^#(activate(V2))) 597.68/151.37 , isList^#(V) -> 597.68/151.37 c_12(U11^#(isPalListKind(activate(V)), activate(V))) 597.68/151.37 , isList^#(n____(V1, V2)) -> 597.68/151.37 c_13(U21^#(isPalListKind(activate(V1)), 597.68/151.37 activate(V1), 597.68/151.37 activate(V2))) 597.68/151.37 , U42^#(tt(), V1, V2) -> 597.68/151.37 c_14(U43^#(isPalListKind(activate(V2)), 597.68/151.37 activate(V1), 597.68/151.37 activate(V2))) 597.68/151.37 , U43^#(tt(), V1, V2) -> 597.68/151.37 c_15(U44^#(isPalListKind(activate(V2)), 597.68/151.37 activate(V1), 597.68/151.37 activate(V2))) 597.68/151.37 , U44^#(tt(), V1, V2) -> 597.68/151.37 c_16(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.37 isList^#(activate(V1))) 597.68/151.37 , U45^#(tt(), V2) -> c_17(isNeList^#(activate(V2))) 597.68/151.37 , U52^#(tt(), V1, V2) -> 597.68/151.37 c_18(U53^#(isPalListKind(activate(V2)), 597.68/151.37 activate(V1), 597.68/151.37 activate(V2))) 597.68/151.37 , U53^#(tt(), V1, V2) -> 597.68/151.37 c_19(U54^#(isPalListKind(activate(V2)), 597.68/151.37 activate(V1), 597.68/151.37 activate(V2))) 597.68/151.37 , U54^#(tt(), V1, V2) -> 597.68/151.37 c_20(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.37 isNeList^#(activate(V1))) 597.68/151.37 , U55^#(tt(), V2) -> c_21(isList^#(activate(V2))) } 597.68/151.37 Weak Trs: 597.68/151.37 { __(X1, X2) -> n____(X1, X2) 597.68/151.37 , nil() -> n__nil() 597.68/151.37 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.37 , isPalListKind(n__nil()) -> tt() 597.68/151.37 , isPalListKind(n____(V1, V2)) -> 597.68/151.37 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.37 , isPalListKind(n__a()) -> tt() 597.68/151.37 , isPalListKind(n__e()) -> tt() 597.68/151.37 , isPalListKind(n__i()) -> tt() 597.68/151.37 , isPalListKind(n__o()) -> tt() 597.68/151.37 , isPalListKind(n__u()) -> tt() 597.68/151.37 , activate(X) -> X 597.68/151.37 , activate(n__nil()) -> nil() 597.68/151.37 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.37 , activate(n__a()) -> a() 597.68/151.37 , activate(n__e()) -> e() 597.68/151.37 , activate(n__i()) -> i() 597.68/151.37 , activate(n__o()) -> o() 597.68/151.37 , activate(n__u()) -> u() 597.68/151.37 , U13(tt()) -> tt() 597.68/151.37 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , isNeList(n____(V1, V2)) -> 597.68/151.37 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , isNeList(n____(V1, V2)) -> 597.68/151.37 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U21(tt(), V1, V2) -> 597.68/151.37 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U22(tt(), V1, V2) -> 597.68/151.37 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U23(tt(), V1, V2) -> 597.68/151.37 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.37 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.37 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , isList(n__nil()) -> tt() 597.68/151.37 , isList(n____(V1, V2)) -> 597.68/151.37 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U26(tt()) -> tt() 597.68/151.37 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.37 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.37 , U33(tt()) -> tt() 597.68/151.37 , isQid(n__a()) -> tt() 597.68/151.37 , isQid(n__e()) -> tt() 597.68/151.37 , isQid(n__i()) -> tt() 597.68/151.37 , isQid(n__o()) -> tt() 597.68/151.37 , isQid(n__u()) -> tt() 597.68/151.37 , U41(tt(), V1, V2) -> 597.68/151.37 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U42(tt(), V1, V2) -> 597.68/151.37 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U43(tt(), V1, V2) -> 597.68/151.37 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.37 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.37 , U46(tt()) -> tt() 597.68/151.37 , U51(tt(), V1, V2) -> 597.68/151.37 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.37 , U52(tt(), V1, V2) -> 597.68/151.37 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U53(tt(), V1, V2) -> 597.68/151.37 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.37 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.37 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.37 , U56(tt()) -> tt() 597.68/151.37 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.37 , U92(tt()) -> tt() 597.68/151.37 , a() -> n__a() 597.68/151.37 , e() -> n__e() 597.68/151.37 , i() -> n__i() 597.68/151.37 , o() -> n__o() 597.68/151.37 , u() -> n__u() } 597.68/151.37 Obligation: 597.68/151.37 innermost runtime complexity 597.68/151.37 Answer: 597.68/151.37 YES(O(1),O(n^1)) 597.68/151.37 597.68/151.37 We use the processor 'matrix interpretation of dimension 1' to 597.68/151.37 orient following rules strictly. 597.68/151.37 597.68/151.37 DPs: 597.68/151.37 { 3: isNeList^#(n____(V1, V2)) -> 597.68/151.37 c_3(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.37 , 9: U23^#(tt(), V1, V2) -> 597.68/151.37 c_9(U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.37 , 20: U54^#(tt(), V1, V2) -> 597.68/151.37 c_20(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.37 isNeList^#(activate(V1))) } 597.68/151.37 597.68/151.37 Sub-proof: 597.68/151.37 ---------- 597.68/151.37 The following argument positions are usable: 597.68/151.37 Uargs(c_1) = {1}, Uargs(c_2) = {1}, Uargs(c_3) = {1}, 597.68/151.37 Uargs(c_4) = {1}, Uargs(c_5) = {1}, Uargs(c_6) = {1}, 597.68/151.37 Uargs(c_7) = {1}, Uargs(c_8) = {1}, Uargs(c_9) = {1}, 597.68/151.37 Uargs(c_10) = {1, 2}, Uargs(c_11) = {1}, Uargs(c_12) = {1}, 597.68/151.37 Uargs(c_13) = {1}, Uargs(c_14) = {1}, Uargs(c_15) = {1}, 597.68/151.37 Uargs(c_16) = {1, 2}, Uargs(c_17) = {1}, Uargs(c_18) = {1}, 597.68/151.37 Uargs(c_19) = {1}, Uargs(c_20) = {1, 2}, Uargs(c_21) = {1} 597.68/151.37 597.68/151.37 TcT has computed the following constructor-based matrix 597.68/151.37 interpretation satisfying not(EDA). 597.68/151.37 597.68/151.37 [__](x1, x2) = [1] x1 + [1] x2 + [1] 597.68/151.37 597.68/151.37 [nil] = [0] 597.68/151.37 597.68/151.37 [U11](x1, x2) = [0] 597.68/151.37 597.68/151.37 [tt] = [0] 597.68/151.37 597.68/151.37 [U12](x1, x2) = [0] 597.68/151.37 597.68/151.37 [isPalListKind](x1) = [0] 597.68/151.37 597.68/151.37 [activate](x1) = [1] x1 + [0] 597.68/151.37 597.68/151.37 [U13](x1) = [0] 597.68/151.37 597.68/151.37 [isNeList](x1) = [0] 597.68/151.37 597.68/151.37 [U21](x1, x2, x3) = [0] 597.68/151.37 597.68/151.37 [U22](x1, x2, x3) = [0] 597.68/151.37 597.68/151.37 [U23](x1, x2, x3) = [0] 597.68/151.37 597.68/151.37 [U24](x1, x2, x3) = [0] 597.68/151.37 597.68/151.37 [U25](x1, x2) = [0] 597.68/151.37 597.68/151.37 [isList](x1) = [0] 597.68/151.37 597.68/151.37 [U26](x1) = [0] 597.68/151.37 597.68/151.37 [U31](x1, x2) = [0] 597.68/151.37 597.68/151.37 [U32](x1, x2) = [0] 597.68/151.37 597.68/151.37 [U33](x1) = [0] 597.68/151.37 597.68/151.37 [isQid](x1) = [0] 597.68/151.37 597.68/151.37 [U41](x1, x2, x3) = [0] 597.68/151.37 597.68/151.37 [U42](x1, x2, x3) = [0] 597.68/151.37 597.68/151.37 [U43](x1, x2, x3) = [0] 597.68/151.37 597.68/151.37 [U44](x1, x2, x3) = [0] 597.68/151.37 597.68/151.37 [U45](x1, x2) = [0] 597.68/151.37 597.68/151.37 [U46](x1) = [0] 597.68/151.37 597.68/151.37 [U51](x1, x2, x3) = [0] 597.68/151.37 597.68/151.37 [U52](x1, x2, x3) = [0] 597.68/151.37 597.68/151.37 [U53](x1, x2, x3) = [0] 597.68/151.37 597.68/151.37 [U54](x1, x2, x3) = [0] 597.68/151.37 597.68/151.37 [U55](x1, x2) = [0] 597.68/151.37 597.68/151.37 [U56](x1) = [0] 597.68/151.37 597.68/151.37 [U91](x1, x2) = [0] 597.68/151.37 597.68/151.37 [U92](x1) = [0] 597.68/151.37 597.68/151.37 [n__nil] = [0] 597.68/151.37 597.68/151.37 [n____](x1, x2) = [1] x1 + [1] x2 + [1] 597.68/151.37 597.68/151.37 [n__a] = [0] 597.68/151.37 597.68/151.37 [n__e] = [0] 597.68/151.37 597.68/151.37 [n__i] = [0] 597.68/151.37 597.68/151.37 [n__o] = [0] 597.68/151.37 597.68/151.37 [n__u] = [0] 597.68/151.37 597.68/151.37 [a] = [0] 597.68/151.37 597.68/151.37 [e] = [0] 597.68/151.37 597.68/151.37 [i] = [0] 597.68/151.37 597.68/151.37 [o] = [0] 597.68/151.37 597.68/151.37 [u] = [0] 597.68/151.37 597.68/151.37 [U11^#](x1, x2) = [4] x2 + [0] 597.68/151.37 597.68/151.37 [U12^#](x1, x2) = [4] x2 + [0] 597.68/151.37 597.68/151.37 [isNeList^#](x1) = [4] x1 + [0] 597.68/151.37 597.68/151.37 [U41^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 597.68/151.37 597.68/151.37 [U51^#](x1, x2, x3) = [4] x2 + [4] x3 + [4] 597.68/151.37 597.68/151.37 [U21^#](x1, x2, x3) = [4] x2 + [4] x3 + [4] 597.68/151.37 597.68/151.37 [U22^#](x1, x2, x3) = [4] x2 + [4] x3 + [4] 597.68/151.37 597.68/151.37 [U23^#](x1, x2, x3) = [4] x2 + [4] x3 + [4] 597.68/151.37 597.68/151.37 [U24^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 597.68/151.37 597.68/151.37 [U25^#](x1, x2) = [4] x2 + [0] 597.68/151.37 597.68/151.37 [isList^#](x1) = [4] x1 + [0] 597.68/151.37 597.68/151.37 [U42^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 597.68/151.37 597.68/151.37 [U43^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 597.68/151.37 597.68/151.37 [U44^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 597.68/151.37 597.68/151.37 [U45^#](x1, x2) = [4] x2 + [0] 597.68/151.37 597.68/151.37 [U52^#](x1, x2, x3) = [4] x2 + [4] x3 + [4] 597.68/151.37 597.68/151.37 [U53^#](x1, x2, x3) = [4] x2 + [4] x3 + [4] 597.68/151.37 597.68/151.37 [U54^#](x1, x2, x3) = [4] x2 + [4] x3 + [4] 597.68/151.37 597.68/151.37 [U55^#](x1, x2) = [4] x2 + [0] 597.68/151.37 597.68/151.37 [c_1](x1) = [1] x1 + [0] 597.68/151.37 597.68/151.37 [c_2](x1) = [1] x1 + [0] 597.68/151.37 597.68/151.37 [c_3](x1) = [1] x1 + [3] 597.68/151.37 597.68/151.37 [c_4](x1) = [1] x1 + [0] 597.68/151.37 597.68/151.37 [c_5](x1) = [1] x1 + [0] 597.68/151.37 597.68/151.37 [c_6](x1) = [1] x1 + [0] 597.68/151.37 597.68/151.37 [c_7](x1) = [1] x1 + [0] 597.68/151.37 597.68/151.37 [c_8](x1) = [1] x1 + [0] 597.68/151.37 597.68/151.37 [c_9](x1) = [1] x1 + [1] 597.68/151.37 597.68/151.37 [c_10](x1, x2) = [1] x1 + [1] x2 + [0] 597.68/151.37 597.68/151.37 [c_11](x1) = [1] x1 + [0] 597.68/151.37 597.68/151.37 [c_12](x1) = [1] x1 + [0] 597.68/151.37 597.68/151.37 [c_13](x1) = [1] x1 + [0] 597.68/151.37 597.68/151.37 [c_14](x1) = [1] x1 + [0] 597.68/151.37 597.68/151.37 [c_15](x1) = [1] x1 + [0] 597.68/151.37 597.68/151.37 [c_16](x1, x2) = [1] x1 + [1] x2 + [0] 597.68/151.37 597.68/151.37 [c_17](x1) = [1] x1 + [0] 597.68/151.38 597.68/151.38 [c_18](x1) = [1] x1 + [0] 597.68/151.38 597.68/151.38 [c_19](x1) = [1] x1 + [0] 597.68/151.38 597.68/151.38 [c_20](x1, x2) = [1] x1 + [1] x2 + [3] 597.68/151.38 597.68/151.38 [c_21](x1) = [1] x1 + [0] 597.68/151.38 597.68/151.38 The order satisfies the following ordering constraints: 597.68/151.38 597.68/151.38 [__(X1, X2)] = [1] X1 + [1] X2 + [1] 597.68/151.38 >= [1] X1 + [1] X2 + [1] 597.68/151.38 = [n____(X1, X2)] 597.68/151.38 597.68/151.38 [nil()] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [n__nil()] 597.68/151.38 597.68/151.38 [U11(tt(), V)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U12(isPalListKind(activate(V)), activate(V))] 597.68/151.38 597.68/151.38 [U12(tt(), V)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U13(isNeList(activate(V)))] 597.68/151.38 597.68/151.38 [isPalListKind(n__nil())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [isPalListKind(n____(V1, V2))] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U91(isPalListKind(activate(V1)), activate(V2))] 597.68/151.38 597.68/151.38 [isPalListKind(n__a())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [isPalListKind(n__e())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [isPalListKind(n__i())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [isPalListKind(n__o())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [isPalListKind(n__u())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [activate(X)] = [1] X + [0] 597.68/151.38 >= [1] X + [0] 597.68/151.38 = [X] 597.68/151.38 597.68/151.38 [activate(n__nil())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [nil()] 597.68/151.38 597.68/151.38 [activate(n____(X1, X2))] = [1] X1 + [1] X2 + [1] 597.68/151.38 >= [1] X1 + [1] X2 + [1] 597.68/151.38 = [__(X1, X2)] 597.68/151.38 597.68/151.38 [activate(n__a())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [a()] 597.68/151.38 597.68/151.38 [activate(n__e())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [e()] 597.68/151.38 597.68/151.38 [activate(n__i())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [i()] 597.68/151.38 597.68/151.38 [activate(n__o())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [o()] 597.68/151.38 597.68/151.38 [activate(n__u())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [u()] 597.68/151.38 597.68/151.38 [U13(tt())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [isNeList(V)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U31(isPalListKind(activate(V)), activate(V))] 597.68/151.38 597.68/151.38 [isNeList(n____(V1, V2))] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U41(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.68/151.38 597.68/151.38 [isNeList(n____(V1, V2))] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U51(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.68/151.38 597.68/151.38 [U21(tt(), V1, V2)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U22(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.68/151.38 597.68/151.38 [U22(tt(), V1, V2)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U23(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.68/151.38 597.68/151.38 [U23(tt(), V1, V2)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U24(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.68/151.38 597.68/151.38 [U24(tt(), V1, V2)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U25(isList(activate(V1)), activate(V2))] 597.68/151.38 597.68/151.38 [U25(tt(), V2)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U26(isList(activate(V2)))] 597.68/151.38 597.68/151.38 [isList(V)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U11(isPalListKind(activate(V)), activate(V))] 597.68/151.38 597.68/151.38 [isList(n__nil())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [isList(n____(V1, V2))] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U21(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.68/151.38 597.68/151.38 [U26(tt())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [U31(tt(), V)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U32(isPalListKind(activate(V)), activate(V))] 597.68/151.38 597.68/151.38 [U32(tt(), V)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U33(isQid(activate(V)))] 597.68/151.38 597.68/151.38 [U33(tt())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [isQid(n__a())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [isQid(n__e())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [isQid(n__i())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [isQid(n__o())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [isQid(n__u())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [U41(tt(), V1, V2)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U42(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.68/151.38 597.68/151.38 [U42(tt(), V1, V2)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U43(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.68/151.38 597.68/151.38 [U43(tt(), V1, V2)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U44(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.68/151.38 597.68/151.38 [U44(tt(), V1, V2)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U45(isList(activate(V1)), activate(V2))] 597.68/151.38 597.68/151.38 [U45(tt(), V2)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U46(isNeList(activate(V2)))] 597.68/151.38 597.68/151.38 [U46(tt())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [U51(tt(), V1, V2)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U52(isPalListKind(activate(V1)), activate(V1), activate(V2))] 597.68/151.38 597.68/151.38 [U52(tt(), V1, V2)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U53(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.68/151.38 597.68/151.38 [U53(tt(), V1, V2)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U54(isPalListKind(activate(V2)), activate(V1), activate(V2))] 597.68/151.38 597.68/151.38 [U54(tt(), V1, V2)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U55(isNeList(activate(V1)), activate(V2))] 597.68/151.38 597.68/151.38 [U55(tt(), V2)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U56(isList(activate(V2)))] 597.68/151.38 597.68/151.38 [U56(tt())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [U91(tt(), V2)] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [U92(isPalListKind(activate(V2)))] 597.68/151.38 597.68/151.38 [U92(tt())] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [tt()] 597.68/151.38 597.68/151.38 [a()] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [n__a()] 597.68/151.38 597.68/151.38 [e()] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [n__e()] 597.68/151.38 597.68/151.38 [i()] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [n__i()] 597.68/151.38 597.68/151.38 [o()] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [n__o()] 597.68/151.38 597.68/151.38 [u()] = [0] 597.68/151.38 >= [0] 597.68/151.38 = [n__u()] 597.68/151.38 597.68/151.38 [U11^#(tt(), V)] = [4] V + [0] 597.68/151.38 >= [4] V + [0] 597.68/151.38 = [c_1(U12^#(isPalListKind(activate(V)), activate(V)))] 597.68/151.38 597.68/151.38 [U12^#(tt(), V)] = [4] V + [0] 597.68/151.38 >= [4] V + [0] 597.68/151.38 = [c_2(isNeList^#(activate(V)))] 597.68/151.38 597.68/151.38 [isNeList^#(n____(V1, V2))] = [4] V1 + [4] V2 + [4] 597.68/151.38 > [4] V1 + [4] V2 + [3] 597.68/151.38 = [c_3(U41^#(isPalListKind(activate(V1)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2)))] 597.68/151.38 597.68/151.38 [isNeList^#(n____(V1, V2))] = [4] V1 + [4] V2 + [4] 597.68/151.38 >= [4] V1 + [4] V2 + [4] 597.68/151.38 = [c_4(U51^#(isPalListKind(activate(V1)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2)))] 597.68/151.38 597.68/151.38 [U41^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 597.68/151.38 >= [4] V1 + [4] V2 + [0] 597.68/151.38 = [c_5(U42^#(isPalListKind(activate(V1)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2)))] 597.68/151.38 597.68/151.38 [U51^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [4] 597.68/151.38 >= [4] V1 + [4] V2 + [4] 597.68/151.38 = [c_6(U52^#(isPalListKind(activate(V1)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2)))] 597.68/151.38 597.68/151.38 [U21^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [4] 597.68/151.38 >= [4] V1 + [4] V2 + [4] 597.68/151.38 = [c_7(U22^#(isPalListKind(activate(V1)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2)))] 597.68/151.38 597.68/151.38 [U22^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [4] 597.68/151.38 >= [4] V1 + [4] V2 + [4] 597.68/151.38 = [c_8(U23^#(isPalListKind(activate(V2)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2)))] 597.68/151.38 597.68/151.38 [U23^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [4] 597.68/151.38 > [4] V1 + [4] V2 + [1] 597.68/151.38 = [c_9(U24^#(isPalListKind(activate(V2)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2)))] 597.68/151.38 597.68/151.38 [U24^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 597.68/151.38 >= [4] V1 + [4] V2 + [0] 597.68/151.38 = [c_10(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.38 isList^#(activate(V1)))] 597.68/151.38 597.68/151.38 [U25^#(tt(), V2)] = [4] V2 + [0] 597.68/151.38 >= [4] V2 + [0] 597.68/151.38 = [c_11(isList^#(activate(V2)))] 597.68/151.38 597.68/151.38 [isList^#(V)] = [4] V + [0] 597.68/151.38 >= [4] V + [0] 597.68/151.38 = [c_12(U11^#(isPalListKind(activate(V)), activate(V)))] 597.68/151.38 597.68/151.38 [isList^#(n____(V1, V2))] = [4] V1 + [4] V2 + [4] 597.68/151.38 >= [4] V1 + [4] V2 + [4] 597.68/151.38 = [c_13(U21^#(isPalListKind(activate(V1)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2)))] 597.68/151.38 597.68/151.38 [U42^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 597.68/151.38 >= [4] V1 + [4] V2 + [0] 597.68/151.38 = [c_14(U43^#(isPalListKind(activate(V2)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2)))] 597.68/151.38 597.68/151.38 [U43^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 597.68/151.38 >= [4] V1 + [4] V2 + [0] 597.68/151.38 = [c_15(U44^#(isPalListKind(activate(V2)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2)))] 597.68/151.38 597.68/151.38 [U44^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 597.68/151.38 >= [4] V1 + [4] V2 + [0] 597.68/151.38 = [c_16(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.38 isList^#(activate(V1)))] 597.68/151.38 597.68/151.38 [U45^#(tt(), V2)] = [4] V2 + [0] 597.68/151.38 >= [4] V2 + [0] 597.68/151.38 = [c_17(isNeList^#(activate(V2)))] 597.68/151.38 597.68/151.38 [U52^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [4] 597.68/151.38 >= [4] V1 + [4] V2 + [4] 597.68/151.38 = [c_18(U53^#(isPalListKind(activate(V2)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2)))] 597.68/151.38 597.68/151.38 [U53^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [4] 597.68/151.38 >= [4] V1 + [4] V2 + [4] 597.68/151.38 = [c_19(U54^#(isPalListKind(activate(V2)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2)))] 597.68/151.38 597.68/151.38 [U54^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [4] 597.68/151.38 > [4] V1 + [4] V2 + [3] 597.68/151.38 = [c_20(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.38 isNeList^#(activate(V1)))] 597.68/151.38 597.68/151.38 [U55^#(tt(), V2)] = [4] V2 + [0] 597.68/151.38 >= [4] V2 + [0] 597.68/151.38 = [c_21(isList^#(activate(V2)))] 597.68/151.38 597.68/151.38 597.68/151.38 We return to the main proof. Consider the set of all dependency 597.68/151.38 pairs 597.68/151.38 597.68/151.38 : 597.68/151.38 { 1: U11^#(tt(), V) -> 597.68/151.38 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.68/151.38 , 2: U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.38 , 3: isNeList^#(n____(V1, V2)) -> 597.68/151.38 c_3(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.38 , 4: isNeList^#(n____(V1, V2)) -> 597.68/151.38 c_4(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.38 , 5: U41^#(tt(), V1, V2) -> 597.68/151.38 c_5(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.38 , 6: U51^#(tt(), V1, V2) -> 597.68/151.38 c_6(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.38 , 7: U21^#(tt(), V1, V2) -> 597.68/151.38 c_7(U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.38 , 8: U22^#(tt(), V1, V2) -> 597.68/151.38 c_8(U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.38 , 9: U23^#(tt(), V1, V2) -> 597.68/151.38 c_9(U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.38 , 10: U24^#(tt(), V1, V2) -> 597.68/151.38 c_10(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.38 isList^#(activate(V1))) 597.68/151.38 , 11: U25^#(tt(), V2) -> c_11(isList^#(activate(V2))) 597.68/151.38 , 12: isList^#(V) -> 597.68/151.38 c_12(U11^#(isPalListKind(activate(V)), activate(V))) 597.68/151.38 , 13: isList^#(n____(V1, V2)) -> 597.68/151.38 c_13(U21^#(isPalListKind(activate(V1)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2))) 597.68/151.38 , 14: U42^#(tt(), V1, V2) -> 597.68/151.38 c_14(U43^#(isPalListKind(activate(V2)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2))) 597.68/151.38 , 15: U43^#(tt(), V1, V2) -> 597.68/151.38 c_15(U44^#(isPalListKind(activate(V2)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2))) 597.68/151.38 , 16: U44^#(tt(), V1, V2) -> 597.68/151.38 c_16(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.38 isList^#(activate(V1))) 597.68/151.38 , 17: U45^#(tt(), V2) -> c_17(isNeList^#(activate(V2))) 597.68/151.38 , 18: U52^#(tt(), V1, V2) -> 597.68/151.38 c_18(U53^#(isPalListKind(activate(V2)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2))) 597.68/151.38 , 19: U53^#(tt(), V1, V2) -> 597.68/151.38 c_19(U54^#(isPalListKind(activate(V2)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2))) 597.68/151.38 , 20: U54^#(tt(), V1, V2) -> 597.68/151.38 c_20(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.38 isNeList^#(activate(V1))) 597.68/151.38 , 21: U55^#(tt(), V2) -> c_21(isList^#(activate(V2))) } 597.68/151.38 597.68/151.38 Processor 'matrix interpretation of dimension 1' induces the 597.68/151.38 complexity certificate YES(?,O(n^1)) on application of dependency 597.68/151.38 pairs {3,9,20}. These cover all (indirect) predecessors of 597.68/151.38 dependency pairs 597.68/151.38 {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21}, their 597.68/151.38 number of application is equally bounded. The dependency pairs are 597.68/151.38 shifted into the weak component. 597.68/151.38 597.68/151.38 We are left with following problem, upon which TcT provides the 597.68/151.38 certificate YES(O(1),O(1)). 597.68/151.38 597.68/151.38 Weak DPs: 597.68/151.38 { U11^#(tt(), V) -> 597.68/151.38 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.68/151.38 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.38 , isNeList^#(n____(V1, V2)) -> 597.68/151.38 c_3(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.38 , isNeList^#(n____(V1, V2)) -> 597.68/151.38 c_4(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.38 , U41^#(tt(), V1, V2) -> 597.68/151.38 c_5(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.38 , U51^#(tt(), V1, V2) -> 597.68/151.38 c_6(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.38 , U21^#(tt(), V1, V2) -> 597.68/151.38 c_7(U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.38 , U22^#(tt(), V1, V2) -> 597.68/151.38 c_8(U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.38 , U23^#(tt(), V1, V2) -> 597.68/151.38 c_9(U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.38 , U24^#(tt(), V1, V2) -> 597.68/151.38 c_10(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.38 isList^#(activate(V1))) 597.68/151.38 , U25^#(tt(), V2) -> c_11(isList^#(activate(V2))) 597.68/151.38 , isList^#(V) -> 597.68/151.38 c_12(U11^#(isPalListKind(activate(V)), activate(V))) 597.68/151.38 , isList^#(n____(V1, V2)) -> 597.68/151.38 c_13(U21^#(isPalListKind(activate(V1)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2))) 597.68/151.38 , U42^#(tt(), V1, V2) -> 597.68/151.38 c_14(U43^#(isPalListKind(activate(V2)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2))) 597.68/151.38 , U43^#(tt(), V1, V2) -> 597.68/151.38 c_15(U44^#(isPalListKind(activate(V2)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2))) 597.68/151.38 , U44^#(tt(), V1, V2) -> 597.68/151.38 c_16(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.38 isList^#(activate(V1))) 597.68/151.38 , U45^#(tt(), V2) -> c_17(isNeList^#(activate(V2))) 597.68/151.38 , U52^#(tt(), V1, V2) -> 597.68/151.38 c_18(U53^#(isPalListKind(activate(V2)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2))) 597.68/151.38 , U53^#(tt(), V1, V2) -> 597.68/151.38 c_19(U54^#(isPalListKind(activate(V2)), 597.68/151.38 activate(V1), 597.68/151.38 activate(V2))) 597.68/151.38 , U54^#(tt(), V1, V2) -> 597.68/151.38 c_20(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.38 isNeList^#(activate(V1))) 597.68/151.38 , U55^#(tt(), V2) -> c_21(isList^#(activate(V2))) } 597.68/151.38 Weak Trs: 597.68/151.38 { __(X1, X2) -> n____(X1, X2) 597.68/151.38 , nil() -> n__nil() 597.68/151.38 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.38 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.38 , isPalListKind(n__nil()) -> tt() 597.68/151.39 , isPalListKind(n____(V1, V2)) -> 597.68/151.39 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.39 , isPalListKind(n__a()) -> tt() 597.68/151.39 , isPalListKind(n__e()) -> tt() 597.68/151.39 , isPalListKind(n__i()) -> tt() 597.68/151.39 , isPalListKind(n__o()) -> tt() 597.68/151.39 , isPalListKind(n__u()) -> tt() 597.68/151.39 , activate(X) -> X 597.68/151.39 , activate(n__nil()) -> nil() 597.68/151.39 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.39 , activate(n__a()) -> a() 597.68/151.39 , activate(n__e()) -> e() 597.68/151.39 , activate(n__i()) -> i() 597.68/151.39 , activate(n__o()) -> o() 597.68/151.39 , activate(n__u()) -> u() 597.68/151.39 , U13(tt()) -> tt() 597.68/151.39 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.39 , isNeList(n____(V1, V2)) -> 597.68/151.39 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.39 , isNeList(n____(V1, V2)) -> 597.68/151.39 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.39 , U21(tt(), V1, V2) -> 597.68/151.39 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.39 , U22(tt(), V1, V2) -> 597.68/151.39 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.39 , U23(tt(), V1, V2) -> 597.68/151.39 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.39 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.39 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.39 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.39 , isList(n__nil()) -> tt() 597.68/151.39 , isList(n____(V1, V2)) -> 597.68/151.39 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.39 , U26(tt()) -> tt() 597.68/151.39 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.39 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.39 , U33(tt()) -> tt() 597.68/151.39 , isQid(n__a()) -> tt() 597.68/151.39 , isQid(n__e()) -> tt() 597.68/151.39 , isQid(n__i()) -> tt() 597.68/151.39 , isQid(n__o()) -> tt() 597.68/151.39 , isQid(n__u()) -> tt() 597.68/151.39 , U41(tt(), V1, V2) -> 597.68/151.39 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.39 , U42(tt(), V1, V2) -> 597.68/151.39 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.39 , U43(tt(), V1, V2) -> 597.68/151.39 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.39 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.39 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.39 , U46(tt()) -> tt() 597.68/151.39 , U51(tt(), V1, V2) -> 597.68/151.39 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.39 , U52(tt(), V1, V2) -> 597.68/151.39 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.39 , U53(tt(), V1, V2) -> 597.68/151.39 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.39 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.39 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.39 , U56(tt()) -> tt() 597.68/151.39 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.39 , U92(tt()) -> tt() 597.68/151.39 , a() -> n__a() 597.68/151.39 , e() -> n__e() 597.68/151.39 , i() -> n__i() 597.68/151.39 , o() -> n__o() 597.68/151.39 , u() -> n__u() } 597.68/151.39 Obligation: 597.68/151.39 innermost runtime complexity 597.68/151.39 Answer: 597.68/151.39 YES(O(1),O(1)) 597.68/151.39 597.68/151.39 The following weak DPs constitute a sub-graph of the DG that is 597.68/151.39 closed under successors. The DPs are removed. 597.68/151.39 597.68/151.39 { U11^#(tt(), V) -> 597.68/151.39 c_1(U12^#(isPalListKind(activate(V)), activate(V))) 597.68/151.39 , U12^#(tt(), V) -> c_2(isNeList^#(activate(V))) 597.68/151.39 , isNeList^#(n____(V1, V2)) -> 597.68/151.39 c_3(U41^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.39 , isNeList^#(n____(V1, V2)) -> 597.68/151.39 c_4(U51^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.39 , U41^#(tt(), V1, V2) -> 597.68/151.39 c_5(U42^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.39 , U51^#(tt(), V1, V2) -> 597.68/151.39 c_6(U52^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.39 , U21^#(tt(), V1, V2) -> 597.68/151.39 c_7(U22^#(isPalListKind(activate(V1)), activate(V1), activate(V2))) 597.68/151.39 , U22^#(tt(), V1, V2) -> 597.68/151.39 c_8(U23^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.39 , U23^#(tt(), V1, V2) -> 597.68/151.39 c_9(U24^#(isPalListKind(activate(V2)), activate(V1), activate(V2))) 597.68/151.39 , U24^#(tt(), V1, V2) -> 597.68/151.39 c_10(U25^#(isList(activate(V1)), activate(V2)), 597.68/151.39 isList^#(activate(V1))) 597.68/151.39 , U25^#(tt(), V2) -> c_11(isList^#(activate(V2))) 597.68/151.39 , isList^#(V) -> 597.68/151.39 c_12(U11^#(isPalListKind(activate(V)), activate(V))) 597.68/151.39 , isList^#(n____(V1, V2)) -> 597.68/151.39 c_13(U21^#(isPalListKind(activate(V1)), 597.68/151.39 activate(V1), 597.68/151.39 activate(V2))) 597.68/151.39 , U42^#(tt(), V1, V2) -> 597.68/151.39 c_14(U43^#(isPalListKind(activate(V2)), 597.68/151.39 activate(V1), 597.68/151.39 activate(V2))) 597.68/151.39 , U43^#(tt(), V1, V2) -> 597.68/151.39 c_15(U44^#(isPalListKind(activate(V2)), 597.68/151.39 activate(V1), 597.68/151.39 activate(V2))) 597.68/151.39 , U44^#(tt(), V1, V2) -> 597.68/151.39 c_16(U45^#(isList(activate(V1)), activate(V2)), 597.68/151.39 isList^#(activate(V1))) 597.68/151.39 , U45^#(tt(), V2) -> c_17(isNeList^#(activate(V2))) 597.68/151.39 , U52^#(tt(), V1, V2) -> 597.68/151.39 c_18(U53^#(isPalListKind(activate(V2)), 597.68/151.39 activate(V1), 597.68/151.39 activate(V2))) 597.68/151.39 , U53^#(tt(), V1, V2) -> 597.68/151.39 c_19(U54^#(isPalListKind(activate(V2)), 597.68/151.39 activate(V1), 597.68/151.39 activate(V2))) 597.68/151.39 , U54^#(tt(), V1, V2) -> 597.68/151.39 c_20(U55^#(isNeList(activate(V1)), activate(V2)), 597.68/151.39 isNeList^#(activate(V1))) 597.68/151.39 , U55^#(tt(), V2) -> c_21(isList^#(activate(V2))) } 597.68/151.39 597.68/151.39 We are left with following problem, upon which TcT provides the 597.68/151.39 certificate YES(O(1),O(1)). 597.68/151.39 597.68/151.39 Weak Trs: 597.68/151.39 { __(X1, X2) -> n____(X1, X2) 597.68/151.39 , nil() -> n__nil() 597.68/151.39 , U11(tt(), V) -> U12(isPalListKind(activate(V)), activate(V)) 597.68/151.39 , U12(tt(), V) -> U13(isNeList(activate(V))) 597.68/151.39 , isPalListKind(n__nil()) -> tt() 597.68/151.39 , isPalListKind(n____(V1, V2)) -> 597.68/151.39 U91(isPalListKind(activate(V1)), activate(V2)) 597.68/151.39 , isPalListKind(n__a()) -> tt() 597.68/151.39 , isPalListKind(n__e()) -> tt() 597.68/151.39 , isPalListKind(n__i()) -> tt() 597.68/151.39 , isPalListKind(n__o()) -> tt() 597.68/151.39 , isPalListKind(n__u()) -> tt() 597.68/151.39 , activate(X) -> X 597.68/151.39 , activate(n__nil()) -> nil() 597.68/151.39 , activate(n____(X1, X2)) -> __(X1, X2) 597.68/151.39 , activate(n__a()) -> a() 597.68/151.39 , activate(n__e()) -> e() 597.68/151.39 , activate(n__i()) -> i() 597.68/151.39 , activate(n__o()) -> o() 597.68/151.39 , activate(n__u()) -> u() 597.68/151.39 , U13(tt()) -> tt() 597.68/151.39 , isNeList(V) -> U31(isPalListKind(activate(V)), activate(V)) 597.68/151.39 , isNeList(n____(V1, V2)) -> 597.68/151.39 U41(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.39 , isNeList(n____(V1, V2)) -> 597.68/151.39 U51(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.39 , U21(tt(), V1, V2) -> 597.68/151.39 U22(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.39 , U22(tt(), V1, V2) -> 597.68/151.39 U23(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.39 , U23(tt(), V1, V2) -> 597.68/151.39 U24(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.39 , U24(tt(), V1, V2) -> U25(isList(activate(V1)), activate(V2)) 597.68/151.39 , U25(tt(), V2) -> U26(isList(activate(V2))) 597.68/151.39 , isList(V) -> U11(isPalListKind(activate(V)), activate(V)) 597.68/151.39 , isList(n__nil()) -> tt() 597.68/151.39 , isList(n____(V1, V2)) -> 597.68/151.39 U21(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.39 , U26(tt()) -> tt() 597.68/151.39 , U31(tt(), V) -> U32(isPalListKind(activate(V)), activate(V)) 597.68/151.39 , U32(tt(), V) -> U33(isQid(activate(V))) 597.68/151.39 , U33(tt()) -> tt() 597.68/151.39 , isQid(n__a()) -> tt() 597.68/151.39 , isQid(n__e()) -> tt() 597.68/151.39 , isQid(n__i()) -> tt() 597.68/151.39 , isQid(n__o()) -> tt() 597.68/151.39 , isQid(n__u()) -> tt() 597.68/151.39 , U41(tt(), V1, V2) -> 597.68/151.39 U42(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.39 , U42(tt(), V1, V2) -> 597.68/151.39 U43(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.39 , U43(tt(), V1, V2) -> 597.68/151.39 U44(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.39 , U44(tt(), V1, V2) -> U45(isList(activate(V1)), activate(V2)) 597.68/151.39 , U45(tt(), V2) -> U46(isNeList(activate(V2))) 597.68/151.39 , U46(tt()) -> tt() 597.68/151.39 , U51(tt(), V1, V2) -> 597.68/151.39 U52(isPalListKind(activate(V1)), activate(V1), activate(V2)) 597.68/151.39 , U52(tt(), V1, V2) -> 597.68/151.39 U53(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.39 , U53(tt(), V1, V2) -> 597.68/151.39 U54(isPalListKind(activate(V2)), activate(V1), activate(V2)) 597.68/151.39 , U54(tt(), V1, V2) -> U55(isNeList(activate(V1)), activate(V2)) 597.68/151.39 , U55(tt(), V2) -> U56(isList(activate(V2))) 597.68/151.39 , U56(tt()) -> tt() 597.68/151.39 , U91(tt(), V2) -> U92(isPalListKind(activate(V2))) 597.68/151.39 , U92(tt()) -> tt() 597.68/151.39 , a() -> n__a() 597.68/151.39 , e() -> n__e() 597.68/151.39 , i() -> n__i() 597.68/151.39 , o() -> n__o() 597.68/151.39 , u() -> n__u() } 597.68/151.39 Obligation: 597.68/151.39 innermost runtime complexity 597.68/151.39 Answer: 597.68/151.39 YES(O(1),O(1)) 597.68/151.39 597.68/151.39 No rule is usable, rules are removed from the input problem. 597.68/151.39 597.68/151.39 We are left with following problem, upon which TcT provides the 597.68/151.39 certificate YES(O(1),O(1)). 597.68/151.39 597.68/151.39 Rules: Empty 597.68/151.39 Obligation: 597.68/151.39 innermost runtime complexity 597.68/151.39 Answer: 597.68/151.39 YES(O(1),O(1)) 597.68/151.39 597.68/151.39 Empty rules are trivially bounded 597.68/151.39 597.68/151.39 597.68/151.39 597.68/151.39 Hurray, we answered YES(O(1),O(n^2)) 597.91/151.42 EOF