YES

The TRS could be proven terminating. The proof took 25008 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (2844ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4iUR (1503ms).
 |    | – Problem 6 was processed with processor PolynomialLinearRange4 (29ms).
 | – Problem 3 was processed with processor PolynomialLinearRange4 (111ms).
 |    | – Problem 7 was processed with processor DependencyGraph (18ms).
 | – Problem 4 was processed with processor PolynomialLinearRange4 (1930ms).
 |    | – Problem 8 was processed with processor DependencyGraph (104ms).
 |    |    | – Problem 9 was processed with processor PolynomialLinearRange4 (1026ms).
 |    |    |    | – Problem 10 was processed with processor DependencyGraph (30ms).
 | – Problem 5 was processed with processor SubtermCriterion (3ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U62#(tt, V) → U63#(isQid(activate(V)))U53#(tt, V1, V2) → isPalListKind#(activate(V2))
U52#(tt, V1, V2) → U53#(isPalListKind(activate(V2)), activate(V1), activate(V2))U53#(tt, V1, V2) → activate#(V2)
U23#(tt, V1, V2) → activate#(V2)U55#(tt, V2) → activate#(V2)
U45#(tt, V2) → isNeList#(activate(V2))U24#(tt, V1, V2) → U25#(isList(activate(V1)), activate(V2))
U23#(tt, V1, V2) → U24#(isPalListKind(activate(V2)), activate(V1), activate(V2))U91#(tt, V2) → U92#(isPalListKind(activate(V2)))
U81#(tt, V) → isPalListKind#(activate(V))U24#(tt, V1, V2) → activate#(V2)
U12#(tt, V) → isNeList#(activate(V))U72#(tt, P) → U73#(isPal(activate(P)), activate(P))
U24#(tt, V1, V2) → activate#(V1)isList#(V) → U11#(isPalListKind(activate(V)), activate(V))
U42#(tt, V1, V2) → U43#(isPalListKind(activate(V2)), activate(V1), activate(V2))U54#(tt, V1, V2) → U55#(isNeList(activate(V1)), activate(V2))
isNeList#(V) → U31#(isPalListKind(activate(V)), activate(V))U71#(tt, I, P) → isPalListKind#(activate(I))
U71#(tt, I, P) → activate#(P)U61#(tt, V) → U62#(isPalListKind(activate(V)), activate(V))
isList#(n____(V1, V2)) → isPalListKind#(activate(V1))U22#(tt, V1, V2) → U23#(isPalListKind(activate(V2)), activate(V1), activate(V2))
isNePal#(n____(I, __(P, I))) → activate#(P)isNePal#(V) → isPalListKind#(activate(V))
isNePal#(n____(I, __(P, I))) → U71#(isQid(activate(I)), activate(I), activate(P))U71#(tt, I, P) → U72#(isPalListKind(activate(I)), activate(P))
U25#(tt, V2) → activate#(V2)U32#(tt, V) → U33#(isQid(activate(V)))
U12#(tt, V) → U13#(isNeList(activate(V)))isNePal#(n____(I, __(P, I))) → activate#(I)
isPalListKind#(n____(V1, V2)) → isPalListKind#(activate(V1))isPal#(V) → isPalListKind#(activate(V))
isPal#(V) → activate#(V)U91#(tt, V2) → activate#(V2)
U31#(tt, V) → U32#(isPalListKind(activate(V)), activate(V))U23#(tt, V1, V2) → isPalListKind#(activate(V2))
U11#(tt, V) → U12#(isPalListKind(activate(V)), activate(V))U61#(tt, V) → isPalListKind#(activate(V))
__#(__(X, Y), Z) → __#(Y, Z)isNePal#(V) → activate#(V)
U25#(tt, V2) → U26#(isList(activate(V2)))U71#(tt, I, P) → activate#(I)
U51#(tt, V1, V2) → U52#(isPalListKind(activate(V1)), activate(V1), activate(V2))U22#(tt, V1, V2) → activate#(V2)
isList#(n____(V1, V2)) → activate#(V1)U62#(tt, V) → isQid#(activate(V))
isNeList#(V) → activate#(V)U31#(tt, V) → activate#(V)
U82#(tt, V) → activate#(V)U12#(tt, V) → activate#(V)
U31#(tt, V) → isPalListKind#(activate(V))U73#(tt, P) → isPalListKind#(activate(P))
__#(__(X, Y), Z) → __#(X, __(Y, Z))U32#(tt, V) → activate#(V)
U41#(tt, V1, V2) → activate#(V2)U52#(tt, V1, V2) → activate#(V2)
U55#(tt, V2) → U56#(isList(activate(V2)))U72#(tt, P) → isPal#(activate(P))
U43#(tt, V1, V2) → activate#(V2)isPalListKind#(n____(V1, V2)) → activate#(V2)
U25#(tt, V2) → isList#(activate(V2))U21#(tt, V1, V2) → isPalListKind#(activate(V1))
U41#(tt, V1, V2) → isPalListKind#(activate(V1))U82#(tt, V) → U83#(isNePal(activate(V)))
isNePal#(n____(I, __(P, I))) → isQid#(activate(I))isNeList#(n____(V1, V2)) → U51#(isPalListKind(activate(V1)), activate(V1), activate(V2))
U44#(tt, V1, V2) → activate#(V2)U21#(tt, V1, V2) → U22#(isPalListKind(activate(V1)), activate(V1), activate(V2))
U43#(tt, V1, V2) → U44#(isPalListKind(activate(V2)), activate(V1), activate(V2))isList#(V) → activate#(V)
isList#(V) → isPalListKind#(activate(V))U22#(tt, V1, V2) → isPalListKind#(activate(V2))
U51#(tt, V1, V2) → activate#(V1)activate#(n__o) → o#
isPal#(V) → U81#(isPalListKind(activate(V)), activate(V))U43#(tt, V1, V2) → isPalListKind#(activate(V2))
U45#(tt, V2) → activate#(V2)U81#(tt, V) → U82#(isPalListKind(activate(V)), activate(V))
activate#(n__a) → a#U44#(tt, V1, V2) → activate#(V1)
U22#(tt, V1, V2) → activate#(V1)U53#(tt, V1, V2) → activate#(V1)
isNeList#(n____(V1, V2)) → activate#(V1)U21#(tt, V1, V2) → activate#(V1)
U11#(tt, V) → activate#(V)U62#(tt, V) → activate#(V)
isNeList#(V) → isPalListKind#(activate(V))isNePal#(V) → U61#(isPalListKind(activate(V)), activate(V))
U42#(tt, V1, V2) → activate#(V1)isPalListKind#(n____(V1, V2)) → U91#(isPalListKind(activate(V1)), activate(V2))
U52#(tt, V1, V2) → activate#(V1)U54#(tt, V1, V2) → activate#(V1)
U73#(tt, P) → U74#(isPalListKind(activate(P)))U72#(tt, P) → activate#(P)
U41#(tt, V1, V2) → activate#(V1)activate#(n__u) → u#
U21#(tt, V1, V2) → activate#(V2)activate#(n____(X1, X2)) → __#(X1, X2)
isNeList#(n____(V1, V2)) → U41#(isPalListKind(activate(V1)), activate(V1), activate(V2))U42#(tt, V1, V2) → activate#(V2)
isNeList#(n____(V1, V2)) → isPalListKind#(activate(V1))activate#(n__e) → e#
U54#(tt, V1, V2) → isNeList#(activate(V1))U32#(tt, V) → isQid#(activate(V))
isNeList#(n____(V1, V2)) → activate#(V2)activate#(n__i) → i#
U45#(tt, V2) → U46#(isNeList(activate(V2)))U81#(tt, V) → activate#(V)
U24#(tt, V1, V2) → isList#(activate(V1))U23#(tt, V1, V2) → activate#(V1)
U51#(tt, V1, V2) → activate#(V2)U53#(tt, V1, V2) → U54#(isPalListKind(activate(V2)), activate(V1), activate(V2))
U54#(tt, V1, V2) → activate#(V2)isList#(n____(V1, V2)) → activate#(V2)
isList#(n____(V1, V2)) → U21#(isPalListKind(activate(V1)), activate(V1), activate(V2))isPalListKind#(n____(V1, V2)) → activate#(V1)
U41#(tt, V1, V2) → U42#(isPalListKind(activate(V1)), activate(V1), activate(V2))U82#(tt, V) → isNePal#(activate(V))
U52#(tt, V1, V2) → isPalListKind#(activate(V2))U51#(tt, V1, V2) → isPalListKind#(activate(V1))
U11#(tt, V) → isPalListKind#(activate(V))U43#(tt, V1, V2) → activate#(V1)
U44#(tt, V1, V2) → isList#(activate(V1))U61#(tt, V) → activate#(V)
activate#(n__nil) → nil#U42#(tt, V1, V2) → isPalListKind#(activate(V2))
U55#(tt, V2) → isList#(activate(V2))U91#(tt, V2) → isPalListKind#(activate(V2))
U44#(tt, V1, V2) → U45#(isList(activate(V1)), activate(V2))U73#(tt, P) → activate#(P)

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt, V) → U12(isPalListKind(activate(V)), activate(V))
U12(tt, V) → U13(isNeList(activate(V)))U13(tt) → tt
U21(tt, V1, V2) → U22(isPalListKind(activate(V1)), activate(V1), activate(V2))U22(tt, V1, V2) → U23(isPalListKind(activate(V2)), activate(V1), activate(V2))
U23(tt, V1, V2) → U24(isPalListKind(activate(V2)), activate(V1), activate(V2))U24(tt, V1, V2) → U25(isList(activate(V1)), activate(V2))
U25(tt, V2) → U26(isList(activate(V2)))U26(tt) → tt
U31(tt, V) → U32(isPalListKind(activate(V)), activate(V))U32(tt, V) → U33(isQid(activate(V)))
U33(tt) → ttU41(tt, V1, V2) → U42(isPalListKind(activate(V1)), activate(V1), activate(V2))
U42(tt, V1, V2) → U43(isPalListKind(activate(V2)), activate(V1), activate(V2))U43(tt, V1, V2) → U44(isPalListKind(activate(V2)), activate(V1), activate(V2))
U44(tt, V1, V2) → U45(isList(activate(V1)), activate(V2))U45(tt, V2) → U46(isNeList(activate(V2)))
U46(tt) → ttU51(tt, V1, V2) → U52(isPalListKind(activate(V1)), activate(V1), activate(V2))
U52(tt, V1, V2) → U53(isPalListKind(activate(V2)), activate(V1), activate(V2))U53(tt, V1, V2) → U54(isPalListKind(activate(V2)), activate(V1), activate(V2))
U54(tt, V1, V2) → U55(isNeList(activate(V1)), activate(V2))U55(tt, V2) → U56(isList(activate(V2)))
U56(tt) → ttU61(tt, V) → U62(isPalListKind(activate(V)), activate(V))
U62(tt, V) → U63(isQid(activate(V)))U63(tt) → tt
U71(tt, I, P) → U72(isPalListKind(activate(I)), activate(P))U72(tt, P) → U73(isPal(activate(P)), activate(P))
U73(tt, P) → U74(isPalListKind(activate(P)))U74(tt) → tt
U81(tt, V) → U82(isPalListKind(activate(V)), activate(V))U82(tt, V) → U83(isNePal(activate(V)))
U83(tt) → ttU91(tt, V2) → U92(isPalListKind(activate(V2)))
U92(tt) → ttisList(V) → U11(isPalListKind(activate(V)), activate(V))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(V) → U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2)) → U41(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(n____(V1, V2)) → U51(isPalListKind(activate(V1)), activate(V1), activate(V2))isNePal(V) → U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(I), activate(P))isPal(V) → U81(isPalListKind(activate(V)), activate(V))
isPal(n__nil) → ttisPalListKind(n__a) → tt
isPalListKind(n__e) → ttisPalListKind(n__i) → tt
isPalListKind(n__nil) → ttisPalListKind(n__o) → tt
isPalListKind(n__u) → ttisPalListKind(n____(V1, V2)) → U91(isPalListKind(activate(V1)), activate(V2))
isQid(n__a) → ttisQid(n__e) → tt
isQid(n__i) → ttisQid(n__o) → tt
isQid(n__u) → ttnil → n__nil
__(X1, X2) → n____(X1, X2)a → n__a
e → n__ei → n__i
o → n__ou → n__u
activate(n__nil) → nilactivate(n____(X1, X2)) → __(X1, X2)
activate(n__a) → aactivate(n__e) → e
activate(n__i) → iactivate(n__o) → o
activate(n__u) → uactivate(X) → X

Original Signature

Termination of terms over the following signature is verified: activate, U63, n__u, U25, U62, U26, U61, n__o, n__nil, U23, U24, U21, U22, n__e, n__a, isPal, n__i, U71, U73, U72, U74, U31, isQid, U32, U33, isList, isNeList, __, U46, U45, U44, U43, U42, U41, U92, isNePal, U91, e, isPalListKind, a, U83, o, i, U55, U54, u, U56, U51, tt, U82, U53, U81, U52, U11, U12, U13, n____, nil

Strategy


The following SCCs where found

isNePal#(n____(I, __(P, I))) → U71#(isQid(activate(I)), activate(I), activate(P))U71#(tt, I, P) → U72#(isPalListKind(activate(I)), activate(P))
U82#(tt, V) → isNePal#(activate(V))isPal#(V) → U81#(isPalListKind(activate(V)), activate(V))
U72#(tt, P) → isPal#(activate(P))U81#(tt, V) → U82#(isPalListKind(activate(V)), activate(V))

U24#(tt, V1, V2) → isList#(activate(V1))U11#(tt, V) → U12#(isPalListKind(activate(V)), activate(V))
U52#(tt, V1, V2) → U53#(isPalListKind(activate(V2)), activate(V1), activate(V2))U22#(tt, V1, V2) → U23#(isPalListKind(activate(V2)), activate(V1), activate(V2))
U53#(tt, V1, V2) → U54#(isPalListKind(activate(V2)), activate(V1), activate(V2))U45#(tt, V2) → isNeList#(activate(V2))
U24#(tt, V1, V2) → U25#(isList(activate(V1)), activate(V2))U51#(tt, V1, V2) → U52#(isPalListKind(activate(V1)), activate(V1), activate(V2))
U44#(tt, V1, V2) → isList#(activate(V1))U23#(tt, V1, V2) → U24#(isPalListKind(activate(V2)), activate(V1), activate(V2))
isNeList#(n____(V1, V2)) → U41#(isPalListKind(activate(V1)), activate(V1), activate(V2))U25#(tt, V2) → isList#(activate(V2))
U55#(tt, V2) → isList#(activate(V2))isList#(n____(V1, V2)) → U21#(isPalListKind(activate(V1)), activate(V1), activate(V2))
U12#(tt, V) → isNeList#(activate(V))U44#(tt, V1, V2) → U45#(isList(activate(V1)), activate(V2))
U54#(tt, V1, V2) → isNeList#(activate(V1))isList#(V) → U11#(isPalListKind(activate(V)), activate(V))
isNeList#(n____(V1, V2)) → U51#(isPalListKind(activate(V1)), activate(V1), activate(V2))U21#(tt, V1, V2) → U22#(isPalListKind(activate(V1)), activate(V1), activate(V2))
U41#(tt, V1, V2) → U42#(isPalListKind(activate(V1)), activate(V1), activate(V2))U42#(tt, V1, V2) → U43#(isPalListKind(activate(V2)), activate(V1), activate(V2))
U54#(tt, V1, V2) → U55#(isNeList(activate(V1)), activate(V2))U43#(tt, V1, V2) → U44#(isPalListKind(activate(V2)), activate(V1), activate(V2))

__#(__(X, Y), Z) → __#(X, __(Y, Z))__#(__(X, Y), Z) → __#(Y, Z)

U91#(tt, V2) → isPalListKind#(activate(V2))isPalListKind#(n____(V1, V2)) → isPalListKind#(activate(V1))
isPalListKind#(n____(V1, V2)) → U91#(isPalListKind(activate(V1)), activate(V2))

Problem 2: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

U91#(tt, V2) → isPalListKind#(activate(V2))isPalListKind#(n____(V1, V2)) → isPalListKind#(activate(V1))
isPalListKind#(n____(V1, V2)) → U91#(isPalListKind(activate(V1)), activate(V2))

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt, V) → U12(isPalListKind(activate(V)), activate(V))
U12(tt, V) → U13(isNeList(activate(V)))U13(tt) → tt
U21(tt, V1, V2) → U22(isPalListKind(activate(V1)), activate(V1), activate(V2))U22(tt, V1, V2) → U23(isPalListKind(activate(V2)), activate(V1), activate(V2))
U23(tt, V1, V2) → U24(isPalListKind(activate(V2)), activate(V1), activate(V2))U24(tt, V1, V2) → U25(isList(activate(V1)), activate(V2))
U25(tt, V2) → U26(isList(activate(V2)))U26(tt) → tt
U31(tt, V) → U32(isPalListKind(activate(V)), activate(V))U32(tt, V) → U33(isQid(activate(V)))
U33(tt) → ttU41(tt, V1, V2) → U42(isPalListKind(activate(V1)), activate(V1), activate(V2))
U42(tt, V1, V2) → U43(isPalListKind(activate(V2)), activate(V1), activate(V2))U43(tt, V1, V2) → U44(isPalListKind(activate(V2)), activate(V1), activate(V2))
U44(tt, V1, V2) → U45(isList(activate(V1)), activate(V2))U45(tt, V2) → U46(isNeList(activate(V2)))
U46(tt) → ttU51(tt, V1, V2) → U52(isPalListKind(activate(V1)), activate(V1), activate(V2))
U52(tt, V1, V2) → U53(isPalListKind(activate(V2)), activate(V1), activate(V2))U53(tt, V1, V2) → U54(isPalListKind(activate(V2)), activate(V1), activate(V2))
U54(tt, V1, V2) → U55(isNeList(activate(V1)), activate(V2))U55(tt, V2) → U56(isList(activate(V2)))
U56(tt) → ttU61(tt, V) → U62(isPalListKind(activate(V)), activate(V))
U62(tt, V) → U63(isQid(activate(V)))U63(tt) → tt
U71(tt, I, P) → U72(isPalListKind(activate(I)), activate(P))U72(tt, P) → U73(isPal(activate(P)), activate(P))
U73(tt, P) → U74(isPalListKind(activate(P)))U74(tt) → tt
U81(tt, V) → U82(isPalListKind(activate(V)), activate(V))U82(tt, V) → U83(isNePal(activate(V)))
U83(tt) → ttU91(tt, V2) → U92(isPalListKind(activate(V2)))
U92(tt) → ttisList(V) → U11(isPalListKind(activate(V)), activate(V))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(V) → U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2)) → U41(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(n____(V1, V2)) → U51(isPalListKind(activate(V1)), activate(V1), activate(V2))isNePal(V) → U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(I), activate(P))isPal(V) → U81(isPalListKind(activate(V)), activate(V))
isPal(n__nil) → ttisPalListKind(n__a) → tt
isPalListKind(n__e) → ttisPalListKind(n__i) → tt
isPalListKind(n__nil) → ttisPalListKind(n__o) → tt
isPalListKind(n__u) → ttisPalListKind(n____(V1, V2)) → U91(isPalListKind(activate(V1)), activate(V2))
isQid(n__a) → ttisQid(n__e) → tt
isQid(n__i) → ttisQid(n__o) → tt
isQid(n__u) → ttnil → n__nil
__(X1, X2) → n____(X1, X2)a → n__a
e → n__ei → n__i
o → n__ou → n__u
activate(n__nil) → nilactivate(n____(X1, X2)) → __(X1, X2)
activate(n__a) → aactivate(n__e) → e
activate(n__i) → iactivate(n__o) → o
activate(n__u) → uactivate(X) → X

Original Signature

Termination of terms over the following signature is verified: activate, U63, n__u, U25, U62, U26, U61, n__o, n__nil, U23, U24, U21, U22, n__e, n__a, isPal, n__i, U71, U73, U72, U74, U31, isQid, U32, U33, isList, isNeList, __, U46, U45, U44, U43, U42, U41, U92, isNePal, U91, e, isPalListKind, a, U83, o, i, U55, U54, u, U56, U51, tt, U82, U53, U81, U52, U11, U12, U13, n____, nil

Strategy


Polynomial Interpretation

Improved Usable rules

isPalListKind(n____(V1, V2)) → U91(isPalListKind(activate(V1)), activate(V2))isPalListKind(n__i) → tt
__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
a → n__aactivate(n__nil) → nil
isPalListKind(n__nil) → ttU92(tt) → tt
isPalListKind(n__a) → ttisPalListKind(n__e) → tt
__(X1, X2) → n____(X1, X2)activate(n__a) → a
e → n__eactivate(n__i) → i
isPalListKind(n__o) → ttisPalListKind(n__u) → tt
activate(n____(X1, X2)) → __(X1, X2)U91(tt, V2) → U92(isPalListKind(activate(V2)))
activate(X) → Xactivate(n__u) → u
__(nil, X) → Xu → n__u
i → n__iactivate(n__o) → o
nil → n__nilo → n__o
activate(n__e) → e

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

U91#(tt, V2) → isPalListKind#(activate(V2))isPalListKind#(n____(V1, V2)) → U91#(isPalListKind(activate(V1)), activate(V2))

Problem 6: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isPalListKind#(n____(V1, V2)) → isPalListKind#(activate(V1))

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt, V) → U12(isPalListKind(activate(V)), activate(V))
U12(tt, V) → U13(isNeList(activate(V)))U13(tt) → tt
U21(tt, V1, V2) → U22(isPalListKind(activate(V1)), activate(V1), activate(V2))U22(tt, V1, V2) → U23(isPalListKind(activate(V2)), activate(V1), activate(V2))
U23(tt, V1, V2) → U24(isPalListKind(activate(V2)), activate(V1), activate(V2))U24(tt, V1, V2) → U25(isList(activate(V1)), activate(V2))
U25(tt, V2) → U26(isList(activate(V2)))U26(tt) → tt
U31(tt, V) → U32(isPalListKind(activate(V)), activate(V))U32(tt, V) → U33(isQid(activate(V)))
U33(tt) → ttU41(tt, V1, V2) → U42(isPalListKind(activate(V1)), activate(V1), activate(V2))
U42(tt, V1, V2) → U43(isPalListKind(activate(V2)), activate(V1), activate(V2))U43(tt, V1, V2) → U44(isPalListKind(activate(V2)), activate(V1), activate(V2))
U44(tt, V1, V2) → U45(isList(activate(V1)), activate(V2))U45(tt, V2) → U46(isNeList(activate(V2)))
U46(tt) → ttU51(tt, V1, V2) → U52(isPalListKind(activate(V1)), activate(V1), activate(V2))
U52(tt, V1, V2) → U53(isPalListKind(activate(V2)), activate(V1), activate(V2))U53(tt, V1, V2) → U54(isPalListKind(activate(V2)), activate(V1), activate(V2))
U54(tt, V1, V2) → U55(isNeList(activate(V1)), activate(V2))U55(tt, V2) → U56(isList(activate(V2)))
U56(tt) → ttU61(tt, V) → U62(isPalListKind(activate(V)), activate(V))
U62(tt, V) → U63(isQid(activate(V)))U63(tt) → tt
U71(tt, I, P) → U72(isPalListKind(activate(I)), activate(P))U72(tt, P) → U73(isPal(activate(P)), activate(P))
U73(tt, P) → U74(isPalListKind(activate(P)))U74(tt) → tt
U81(tt, V) → U82(isPalListKind(activate(V)), activate(V))U82(tt, V) → U83(isNePal(activate(V)))
U83(tt) → ttU91(tt, V2) → U92(isPalListKind(activate(V2)))
U92(tt) → ttisList(V) → U11(isPalListKind(activate(V)), activate(V))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(V) → U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2)) → U41(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(n____(V1, V2)) → U51(isPalListKind(activate(V1)), activate(V1), activate(V2))isNePal(V) → U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(I), activate(P))isPal(V) → U81(isPalListKind(activate(V)), activate(V))
isPal(n__nil) → ttisPalListKind(n__a) → tt
isPalListKind(n__e) → ttisPalListKind(n__i) → tt
isPalListKind(n__nil) → ttisPalListKind(n__o) → tt
isPalListKind(n__u) → ttisPalListKind(n____(V1, V2)) → U91(isPalListKind(activate(V1)), activate(V2))
isQid(n__a) → ttisQid(n__e) → tt
isQid(n__i) → ttisQid(n__o) → tt
isQid(n__u) → ttnil → n__nil
__(X1, X2) → n____(X1, X2)a → n__a
e → n__ei → n__i
o → n__ou → n__u
activate(n__nil) → nilactivate(n____(X1, X2)) → __(X1, X2)
activate(n__a) → aactivate(n__e) → e
activate(n__i) → iactivate(n__o) → o
activate(n__u) → uactivate(X) → X

Original Signature

Termination of terms over the following signature is verified: activate, U63, n__u, U25, U62, U26, U61, n__o, n__nil, U23, U24, U21, U22, n__e, n__a, isPal, n__i, U71, U73, U72, U74, isQid, U31, U32, U33, isList, isNeList, __, U46, U45, U44, U43, U42, U41, U92, isNePal, U91, e, isPalListKind, a, U83, o, i, U55, U54, u, U56, U51, tt, U53, U82, U52, U81, U11, U12, U13, n____, nil

Strategy


Polynomial Interpretation

Standard Usable rules

__(__(X, Y), Z) → __(X, __(Y, Z))e → n__e
__(X, nil) → Xactivate(n__i) → i
a → n__aactivate(n__nil) → nil
activate(n____(X1, X2)) → __(X1, X2)activate(X) → X
activate(n__u) → u__(nil, X) → X
i → n__iu → n__u
__(X1, X2) → n____(X1, X2)activate(n__o) → o
nil → n__nilo → n__o
activate(n__a) → aactivate(n__e) → e

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

isPalListKind#(n____(V1, V2)) → isPalListKind#(activate(V1))

Problem 3: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isNePal#(n____(I, __(P, I))) → U71#(isQid(activate(I)), activate(I), activate(P))U71#(tt, I, P) → U72#(isPalListKind(activate(I)), activate(P))
U82#(tt, V) → isNePal#(activate(V))isPal#(V) → U81#(isPalListKind(activate(V)), activate(V))
U72#(tt, P) → isPal#(activate(P))U81#(tt, V) → U82#(isPalListKind(activate(V)), activate(V))

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt, V) → U12(isPalListKind(activate(V)), activate(V))
U12(tt, V) → U13(isNeList(activate(V)))U13(tt) → tt
U21(tt, V1, V2) → U22(isPalListKind(activate(V1)), activate(V1), activate(V2))U22(tt, V1, V2) → U23(isPalListKind(activate(V2)), activate(V1), activate(V2))
U23(tt, V1, V2) → U24(isPalListKind(activate(V2)), activate(V1), activate(V2))U24(tt, V1, V2) → U25(isList(activate(V1)), activate(V2))
U25(tt, V2) → U26(isList(activate(V2)))U26(tt) → tt
U31(tt, V) → U32(isPalListKind(activate(V)), activate(V))U32(tt, V) → U33(isQid(activate(V)))
U33(tt) → ttU41(tt, V1, V2) → U42(isPalListKind(activate(V1)), activate(V1), activate(V2))
U42(tt, V1, V2) → U43(isPalListKind(activate(V2)), activate(V1), activate(V2))U43(tt, V1, V2) → U44(isPalListKind(activate(V2)), activate(V1), activate(V2))
U44(tt, V1, V2) → U45(isList(activate(V1)), activate(V2))U45(tt, V2) → U46(isNeList(activate(V2)))
U46(tt) → ttU51(tt, V1, V2) → U52(isPalListKind(activate(V1)), activate(V1), activate(V2))
U52(tt, V1, V2) → U53(isPalListKind(activate(V2)), activate(V1), activate(V2))U53(tt, V1, V2) → U54(isPalListKind(activate(V2)), activate(V1), activate(V2))
U54(tt, V1, V2) → U55(isNeList(activate(V1)), activate(V2))U55(tt, V2) → U56(isList(activate(V2)))
U56(tt) → ttU61(tt, V) → U62(isPalListKind(activate(V)), activate(V))
U62(tt, V) → U63(isQid(activate(V)))U63(tt) → tt
U71(tt, I, P) → U72(isPalListKind(activate(I)), activate(P))U72(tt, P) → U73(isPal(activate(P)), activate(P))
U73(tt, P) → U74(isPalListKind(activate(P)))U74(tt) → tt
U81(tt, V) → U82(isPalListKind(activate(V)), activate(V))U82(tt, V) → U83(isNePal(activate(V)))
U83(tt) → ttU91(tt, V2) → U92(isPalListKind(activate(V2)))
U92(tt) → ttisList(V) → U11(isPalListKind(activate(V)), activate(V))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(V) → U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2)) → U41(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(n____(V1, V2)) → U51(isPalListKind(activate(V1)), activate(V1), activate(V2))isNePal(V) → U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(I), activate(P))isPal(V) → U81(isPalListKind(activate(V)), activate(V))
isPal(n__nil) → ttisPalListKind(n__a) → tt
isPalListKind(n__e) → ttisPalListKind(n__i) → tt
isPalListKind(n__nil) → ttisPalListKind(n__o) → tt
isPalListKind(n__u) → ttisPalListKind(n____(V1, V2)) → U91(isPalListKind(activate(V1)), activate(V2))
isQid(n__a) → ttisQid(n__e) → tt
isQid(n__i) → ttisQid(n__o) → tt
isQid(n__u) → ttnil → n__nil
__(X1, X2) → n____(X1, X2)a → n__a
e → n__ei → n__i
o → n__ou → n__u
activate(n__nil) → nilactivate(n____(X1, X2)) → __(X1, X2)
activate(n__a) → aactivate(n__e) → e
activate(n__i) → iactivate(n__o) → o
activate(n__u) → uactivate(X) → X

Original Signature

Termination of terms over the following signature is verified: activate, U63, n__u, U25, U62, U26, U61, n__o, n__nil, U23, U24, U21, U22, n__e, n__a, isPal, n__i, U71, U73, U72, U74, U31, isQid, U32, U33, isList, isNeList, __, U46, U45, U44, U43, U42, U41, U92, isNePal, U91, e, isPalListKind, a, U83, o, i, U55, U54, u, U56, U51, tt, U82, U53, U81, U52, U11, U12, U13, n____, nil

Strategy


Polynomial Interpretation

Standard Usable rules

isPalListKind(n____(V1, V2)) → U91(isPalListKind(activate(V1)), activate(V2))isPalListKind(n__i) → tt
__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
a → n__aactivate(n__nil) → nil
isPalListKind(n__nil) → ttU92(tt) → tt
isQid(n__u) → ttisPalListKind(n__a) → tt
isQid(n__e) → ttisPalListKind(n__e) → tt
__(X1, X2) → n____(X1, X2)activate(n__a) → a
e → n__eactivate(n__i) → i
isPalListKind(n__o) → ttisQid(n__a) → tt
isPalListKind(n__u) → ttisQid(n__i) → tt
activate(n____(X1, X2)) → __(X1, X2)U91(tt, V2) → U92(isPalListKind(activate(V2)))
activate(X) → Xactivate(n__u) → u
__(nil, X) → Xi → n__i
u → n__uactivate(n__o) → o
nil → n__nilo → n__o
isQid(n__o) → ttactivate(n__e) → e

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

U71#(tt, I, P) → U72#(isPalListKind(activate(I)), activate(P))

Problem 7: DependencyGraph



Dependency Pair Problem

Dependency Pairs

isNePal#(n____(I, __(P, I))) → U71#(isQid(activate(I)), activate(I), activate(P))U82#(tt, V) → isNePal#(activate(V))
isPal#(V) → U81#(isPalListKind(activate(V)), activate(V))U81#(tt, V) → U82#(isPalListKind(activate(V)), activate(V))
U72#(tt, P) → isPal#(activate(P))

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt, V) → U12(isPalListKind(activate(V)), activate(V))
U12(tt, V) → U13(isNeList(activate(V)))U13(tt) → tt
U21(tt, V1, V2) → U22(isPalListKind(activate(V1)), activate(V1), activate(V2))U22(tt, V1, V2) → U23(isPalListKind(activate(V2)), activate(V1), activate(V2))
U23(tt, V1, V2) → U24(isPalListKind(activate(V2)), activate(V1), activate(V2))U24(tt, V1, V2) → U25(isList(activate(V1)), activate(V2))
U25(tt, V2) → U26(isList(activate(V2)))U26(tt) → tt
U31(tt, V) → U32(isPalListKind(activate(V)), activate(V))U32(tt, V) → U33(isQid(activate(V)))
U33(tt) → ttU41(tt, V1, V2) → U42(isPalListKind(activate(V1)), activate(V1), activate(V2))
U42(tt, V1, V2) → U43(isPalListKind(activate(V2)), activate(V1), activate(V2))U43(tt, V1, V2) → U44(isPalListKind(activate(V2)), activate(V1), activate(V2))
U44(tt, V1, V2) → U45(isList(activate(V1)), activate(V2))U45(tt, V2) → U46(isNeList(activate(V2)))
U46(tt) → ttU51(tt, V1, V2) → U52(isPalListKind(activate(V1)), activate(V1), activate(V2))
U52(tt, V1, V2) → U53(isPalListKind(activate(V2)), activate(V1), activate(V2))U53(tt, V1, V2) → U54(isPalListKind(activate(V2)), activate(V1), activate(V2))
U54(tt, V1, V2) → U55(isNeList(activate(V1)), activate(V2))U55(tt, V2) → U56(isList(activate(V2)))
U56(tt) → ttU61(tt, V) → U62(isPalListKind(activate(V)), activate(V))
U62(tt, V) → U63(isQid(activate(V)))U63(tt) → tt
U71(tt, I, P) → U72(isPalListKind(activate(I)), activate(P))U72(tt, P) → U73(isPal(activate(P)), activate(P))
U73(tt, P) → U74(isPalListKind(activate(P)))U74(tt) → tt
U81(tt, V) → U82(isPalListKind(activate(V)), activate(V))U82(tt, V) → U83(isNePal(activate(V)))
U83(tt) → ttU91(tt, V2) → U92(isPalListKind(activate(V2)))
U92(tt) → ttisList(V) → U11(isPalListKind(activate(V)), activate(V))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(V) → U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2)) → U41(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(n____(V1, V2)) → U51(isPalListKind(activate(V1)), activate(V1), activate(V2))isNePal(V) → U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(I), activate(P))isPal(V) → U81(isPalListKind(activate(V)), activate(V))
isPal(n__nil) → ttisPalListKind(n__a) → tt
isPalListKind(n__e) → ttisPalListKind(n__i) → tt
isPalListKind(n__nil) → ttisPalListKind(n__o) → tt
isPalListKind(n__u) → ttisPalListKind(n____(V1, V2)) → U91(isPalListKind(activate(V1)), activate(V2))
isQid(n__a) → ttisQid(n__e) → tt
isQid(n__i) → ttisQid(n__o) → tt
isQid(n__u) → ttnil → n__nil
__(X1, X2) → n____(X1, X2)a → n__a
e → n__ei → n__i
o → n__ou → n__u
activate(n__nil) → nilactivate(n____(X1, X2)) → __(X1, X2)
activate(n__a) → aactivate(n__e) → e
activate(n__i) → iactivate(n__o) → o
activate(n__u) → uactivate(X) → X

Original Signature

Termination of terms over the following signature is verified: activate, U63, n__u, U25, U62, U26, U61, n__o, n__nil, U23, U24, U21, U22, n__e, n__a, isPal, n__i, U71, U73, U72, U74, isQid, U31, U32, U33, isList, isNeList, __, U46, U45, U44, U43, U42, U41, U92, isNePal, U91, e, isPalListKind, a, U83, o, i, U55, U54, u, U56, U51, tt, U53, U82, U52, U81, U11, U12, U13, n____, nil

Strategy


There are no SCCs!

Problem 4: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

U24#(tt, V1, V2) → isList#(activate(V1))U52#(tt, V1, V2) → U53#(isPalListKind(activate(V2)), activate(V1), activate(V2))
U11#(tt, V) → U12#(isPalListKind(activate(V)), activate(V))U22#(tt, V1, V2) → U23#(isPalListKind(activate(V2)), activate(V1), activate(V2))
U53#(tt, V1, V2) → U54#(isPalListKind(activate(V2)), activate(V1), activate(V2))U45#(tt, V2) → isNeList#(activate(V2))
U51#(tt, V1, V2) → U52#(isPalListKind(activate(V1)), activate(V1), activate(V2))U24#(tt, V1, V2) → U25#(isList(activate(V1)), activate(V2))
U44#(tt, V1, V2) → isList#(activate(V1))U23#(tt, V1, V2) → U24#(isPalListKind(activate(V2)), activate(V1), activate(V2))
isNeList#(n____(V1, V2)) → U41#(isPalListKind(activate(V1)), activate(V1), activate(V2))U25#(tt, V2) → isList#(activate(V2))
U55#(tt, V2) → isList#(activate(V2))isList#(n____(V1, V2)) → U21#(isPalListKind(activate(V1)), activate(V1), activate(V2))
U44#(tt, V1, V2) → U45#(isList(activate(V1)), activate(V2))U12#(tt, V) → isNeList#(activate(V))
U54#(tt, V1, V2) → isNeList#(activate(V1))isList#(V) → U11#(isPalListKind(activate(V)), activate(V))
isNeList#(n____(V1, V2)) → U51#(isPalListKind(activate(V1)), activate(V1), activate(V2))U21#(tt, V1, V2) → U22#(isPalListKind(activate(V1)), activate(V1), activate(V2))
U41#(tt, V1, V2) → U42#(isPalListKind(activate(V1)), activate(V1), activate(V2))U54#(tt, V1, V2) → U55#(isNeList(activate(V1)), activate(V2))
U42#(tt, V1, V2) → U43#(isPalListKind(activate(V2)), activate(V1), activate(V2))U43#(tt, V1, V2) → U44#(isPalListKind(activate(V2)), activate(V1), activate(V2))

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt, V) → U12(isPalListKind(activate(V)), activate(V))
U12(tt, V) → U13(isNeList(activate(V)))U13(tt) → tt
U21(tt, V1, V2) → U22(isPalListKind(activate(V1)), activate(V1), activate(V2))U22(tt, V1, V2) → U23(isPalListKind(activate(V2)), activate(V1), activate(V2))
U23(tt, V1, V2) → U24(isPalListKind(activate(V2)), activate(V1), activate(V2))U24(tt, V1, V2) → U25(isList(activate(V1)), activate(V2))
U25(tt, V2) → U26(isList(activate(V2)))U26(tt) → tt
U31(tt, V) → U32(isPalListKind(activate(V)), activate(V))U32(tt, V) → U33(isQid(activate(V)))
U33(tt) → ttU41(tt, V1, V2) → U42(isPalListKind(activate(V1)), activate(V1), activate(V2))
U42(tt, V1, V2) → U43(isPalListKind(activate(V2)), activate(V1), activate(V2))U43(tt, V1, V2) → U44(isPalListKind(activate(V2)), activate(V1), activate(V2))
U44(tt, V1, V2) → U45(isList(activate(V1)), activate(V2))U45(tt, V2) → U46(isNeList(activate(V2)))
U46(tt) → ttU51(tt, V1, V2) → U52(isPalListKind(activate(V1)), activate(V1), activate(V2))
U52(tt, V1, V2) → U53(isPalListKind(activate(V2)), activate(V1), activate(V2))U53(tt, V1, V2) → U54(isPalListKind(activate(V2)), activate(V1), activate(V2))
U54(tt, V1, V2) → U55(isNeList(activate(V1)), activate(V2))U55(tt, V2) → U56(isList(activate(V2)))
U56(tt) → ttU61(tt, V) → U62(isPalListKind(activate(V)), activate(V))
U62(tt, V) → U63(isQid(activate(V)))U63(tt) → tt
U71(tt, I, P) → U72(isPalListKind(activate(I)), activate(P))U72(tt, P) → U73(isPal(activate(P)), activate(P))
U73(tt, P) → U74(isPalListKind(activate(P)))U74(tt) → tt
U81(tt, V) → U82(isPalListKind(activate(V)), activate(V))U82(tt, V) → U83(isNePal(activate(V)))
U83(tt) → ttU91(tt, V2) → U92(isPalListKind(activate(V2)))
U92(tt) → ttisList(V) → U11(isPalListKind(activate(V)), activate(V))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(V) → U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2)) → U41(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(n____(V1, V2)) → U51(isPalListKind(activate(V1)), activate(V1), activate(V2))isNePal(V) → U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(I), activate(P))isPal(V) → U81(isPalListKind(activate(V)), activate(V))
isPal(n__nil) → ttisPalListKind(n__a) → tt
isPalListKind(n__e) → ttisPalListKind(n__i) → tt
isPalListKind(n__nil) → ttisPalListKind(n__o) → tt
isPalListKind(n__u) → ttisPalListKind(n____(V1, V2)) → U91(isPalListKind(activate(V1)), activate(V2))
isQid(n__a) → ttisQid(n__e) → tt
isQid(n__i) → ttisQid(n__o) → tt
isQid(n__u) → ttnil → n__nil
__(X1, X2) → n____(X1, X2)a → n__a
e → n__ei → n__i
o → n__ou → n__u
activate(n__nil) → nilactivate(n____(X1, X2)) → __(X1, X2)
activate(n__a) → aactivate(n__e) → e
activate(n__i) → iactivate(n__o) → o
activate(n__u) → uactivate(X) → X

Original Signature

Termination of terms over the following signature is verified: activate, U63, n__u, U25, U62, U26, U61, n__o, n__nil, U23, U24, U21, U22, n__e, n__a, isPal, n__i, U71, U73, U72, U74, U31, isQid, U32, U33, isList, isNeList, __, U46, U45, U44, U43, U42, U41, U92, isNePal, U91, e, isPalListKind, a, U83, o, i, U55, U54, u, U56, U51, tt, U82, U53, U81, U52, U11, U12, U13, n____, nil

Strategy


Polynomial Interpretation

Standard Usable rules

isPalListKind(n____(V1, V2)) → U91(isPalListKind(activate(V1)), activate(V2))U24(tt, V1, V2) → U25(isList(activate(V1)), activate(V2))
U22(tt, V1, V2) → U23(isPalListKind(activate(V2)), activate(V1), activate(V2))U21(tt, V1, V2) → U22(isPalListKind(activate(V1)), activate(V1), activate(V2))
U25(tt, V2) → U26(isList(activate(V2)))U43(tt, V1, V2) → U44(isPalListKind(activate(V2)), activate(V1), activate(V2))
U92(tt) → ttU11(tt, V) → U12(isPalListKind(activate(V)), activate(V))
U13(tt) → ttU12(tt, V) → U13(isNeList(activate(V)))
U56(tt) → ttactivate(n__a) → a
U32(tt, V) → U33(isQid(activate(V)))activate(n__i) → i
U44(tt, V1, V2) → U45(isList(activate(V1)), activate(V2))isQid(n__i) → tt
U54(tt, V1, V2) → U55(isNeList(activate(V1)), activate(V2))U91(tt, V2) → U92(isPalListKind(activate(V2)))
activate(X) → XU45(tt, V2) → U46(isNeList(activate(V2)))
__(nil, X) → Xu → n__u
i → n__io → n__o
nil → n__nilisQid(n__o) → tt
U46(tt) → tt__(__(X, Y), Z) → __(X, __(Y, Z))
isPalListKind(n__i) → tt__(X, nil) → X
a → n__aisNeList(V) → U31(isPalListKind(activate(V)), activate(V))
activate(n__nil) → nilisPalListKind(n__nil) → tt
U52(tt, V1, V2) → U53(isPalListKind(activate(V2)), activate(V1), activate(V2))isList(V) → U11(isPalListKind(activate(V)), activate(V))
U33(tt) → ttU41(tt, V1, V2) → U42(isPalListKind(activate(V1)), activate(V1), activate(V2))
isQid(n__u) → ttisNeList(n____(V1, V2)) → U41(isPalListKind(activate(V1)), activate(V1), activate(V2))
isPalListKind(n__a) → ttisPalListKind(n__e) → tt
isQid(n__e) → tt__(X1, X2) → n____(X1, X2)
U23(tt, V1, V2) → U24(isPalListKind(activate(V2)), activate(V1), activate(V2))e → n__e
U42(tt, V1, V2) → U43(isPalListKind(activate(V2)), activate(V1), activate(V2))isPalListKind(n__o) → tt
isList(n__nil) → ttisQid(n__a) → tt
U53(tt, V1, V2) → U54(isPalListKind(activate(V2)), activate(V1), activate(V2))isList(n____(V1, V2)) → U21(isPalListKind(activate(V1)), activate(V1), activate(V2))
isPalListKind(n__u) → ttU55(tt, V2) → U56(isList(activate(V2)))
isNeList(n____(V1, V2)) → U51(isPalListKind(activate(V1)), activate(V1), activate(V2))activate(n____(X1, X2)) → __(X1, X2)
activate(n__u) → uU31(tt, V) → U32(isPalListKind(activate(V)), activate(V))
activate(n__o) → oU26(tt) → tt
U51(tt, V1, V2) → U52(isPalListKind(activate(V1)), activate(V1), activate(V2))activate(n__e) → e

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

U21#(tt, V1, V2) → U22#(isPalListKind(activate(V1)), activate(V1), activate(V2))

Problem 8: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U24#(tt, V1, V2) → isList#(activate(V1))U52#(tt, V1, V2) → U53#(isPalListKind(activate(V2)), activate(V1), activate(V2))
U11#(tt, V) → U12#(isPalListKind(activate(V)), activate(V))U22#(tt, V1, V2) → U23#(isPalListKind(activate(V2)), activate(V1), activate(V2))
U53#(tt, V1, V2) → U54#(isPalListKind(activate(V2)), activate(V1), activate(V2))U45#(tt, V2) → isNeList#(activate(V2))
U51#(tt, V1, V2) → U52#(isPalListKind(activate(V1)), activate(V1), activate(V2))U24#(tt, V1, V2) → U25#(isList(activate(V1)), activate(V2))
U44#(tt, V1, V2) → isList#(activate(V1))U23#(tt, V1, V2) → U24#(isPalListKind(activate(V2)), activate(V1), activate(V2))
isNeList#(n____(V1, V2)) → U41#(isPalListKind(activate(V1)), activate(V1), activate(V2))U25#(tt, V2) → isList#(activate(V2))
isList#(n____(V1, V2)) → U21#(isPalListKind(activate(V1)), activate(V1), activate(V2))U55#(tt, V2) → isList#(activate(V2))
U12#(tt, V) → isNeList#(activate(V))U44#(tt, V1, V2) → U45#(isList(activate(V1)), activate(V2))
isList#(V) → U11#(isPalListKind(activate(V)), activate(V))U54#(tt, V1, V2) → isNeList#(activate(V1))
isNeList#(n____(V1, V2)) → U51#(isPalListKind(activate(V1)), activate(V1), activate(V2))U42#(tt, V1, V2) → U43#(isPalListKind(activate(V2)), activate(V1), activate(V2))
U54#(tt, V1, V2) → U55#(isNeList(activate(V1)), activate(V2))U41#(tt, V1, V2) → U42#(isPalListKind(activate(V1)), activate(V1), activate(V2))
U43#(tt, V1, V2) → U44#(isPalListKind(activate(V2)), activate(V1), activate(V2))

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt, V) → U12(isPalListKind(activate(V)), activate(V))
U12(tt, V) → U13(isNeList(activate(V)))U13(tt) → tt
U21(tt, V1, V2) → U22(isPalListKind(activate(V1)), activate(V1), activate(V2))U22(tt, V1, V2) → U23(isPalListKind(activate(V2)), activate(V1), activate(V2))
U23(tt, V1, V2) → U24(isPalListKind(activate(V2)), activate(V1), activate(V2))U24(tt, V1, V2) → U25(isList(activate(V1)), activate(V2))
U25(tt, V2) → U26(isList(activate(V2)))U26(tt) → tt
U31(tt, V) → U32(isPalListKind(activate(V)), activate(V))U32(tt, V) → U33(isQid(activate(V)))
U33(tt) → ttU41(tt, V1, V2) → U42(isPalListKind(activate(V1)), activate(V1), activate(V2))
U42(tt, V1, V2) → U43(isPalListKind(activate(V2)), activate(V1), activate(V2))U43(tt, V1, V2) → U44(isPalListKind(activate(V2)), activate(V1), activate(V2))
U44(tt, V1, V2) → U45(isList(activate(V1)), activate(V2))U45(tt, V2) → U46(isNeList(activate(V2)))
U46(tt) → ttU51(tt, V1, V2) → U52(isPalListKind(activate(V1)), activate(V1), activate(V2))
U52(tt, V1, V2) → U53(isPalListKind(activate(V2)), activate(V1), activate(V2))U53(tt, V1, V2) → U54(isPalListKind(activate(V2)), activate(V1), activate(V2))
U54(tt, V1, V2) → U55(isNeList(activate(V1)), activate(V2))U55(tt, V2) → U56(isList(activate(V2)))
U56(tt) → ttU61(tt, V) → U62(isPalListKind(activate(V)), activate(V))
U62(tt, V) → U63(isQid(activate(V)))U63(tt) → tt
U71(tt, I, P) → U72(isPalListKind(activate(I)), activate(P))U72(tt, P) → U73(isPal(activate(P)), activate(P))
U73(tt, P) → U74(isPalListKind(activate(P)))U74(tt) → tt
U81(tt, V) → U82(isPalListKind(activate(V)), activate(V))U82(tt, V) → U83(isNePal(activate(V)))
U83(tt) → ttU91(tt, V2) → U92(isPalListKind(activate(V2)))
U92(tt) → ttisList(V) → U11(isPalListKind(activate(V)), activate(V))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(V) → U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2)) → U41(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(n____(V1, V2)) → U51(isPalListKind(activate(V1)), activate(V1), activate(V2))isNePal(V) → U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(I), activate(P))isPal(V) → U81(isPalListKind(activate(V)), activate(V))
isPal(n__nil) → ttisPalListKind(n__a) → tt
isPalListKind(n__e) → ttisPalListKind(n__i) → tt
isPalListKind(n__nil) → ttisPalListKind(n__o) → tt
isPalListKind(n__u) → ttisPalListKind(n____(V1, V2)) → U91(isPalListKind(activate(V1)), activate(V2))
isQid(n__a) → ttisQid(n__e) → tt
isQid(n__i) → ttisQid(n__o) → tt
isQid(n__u) → ttnil → n__nil
__(X1, X2) → n____(X1, X2)a → n__a
e → n__ei → n__i
o → n__ou → n__u
activate(n__nil) → nilactivate(n____(X1, X2)) → __(X1, X2)
activate(n__a) → aactivate(n__e) → e
activate(n__i) → iactivate(n__o) → o
activate(n__u) → uactivate(X) → X

Original Signature

Termination of terms over the following signature is verified: activate, U63, n__u, U25, U62, U26, U61, n__o, n__nil, U23, U24, U21, U22, n__e, n__a, isPal, n__i, U71, U73, U72, U74, isQid, U31, U32, U33, isList, isNeList, __, U46, U45, U44, U43, U42, U41, U92, isNePal, U91, e, isPalListKind, a, U83, o, i, U55, U54, u, U56, U51, tt, U53, U82, U52, U81, U11, U12, U13, n____, nil

Strategy


The following SCCs where found

U11#(tt, V) → U12#(isPalListKind(activate(V)), activate(V))U52#(tt, V1, V2) → U53#(isPalListKind(activate(V2)), activate(V1), activate(V2))
U53#(tt, V1, V2) → U54#(isPalListKind(activate(V2)), activate(V1), activate(V2))U45#(tt, V2) → isNeList#(activate(V2))
U51#(tt, V1, V2) → U52#(isPalListKind(activate(V1)), activate(V1), activate(V2))U44#(tt, V1, V2) → isList#(activate(V1))
isNeList#(n____(V1, V2)) → U41#(isPalListKind(activate(V1)), activate(V1), activate(V2))U55#(tt, V2) → isList#(activate(V2))
U12#(tt, V) → isNeList#(activate(V))U44#(tt, V1, V2) → U45#(isList(activate(V1)), activate(V2))
isList#(V) → U11#(isPalListKind(activate(V)), activate(V))U54#(tt, V1, V2) → isNeList#(activate(V1))
isNeList#(n____(V1, V2)) → U51#(isPalListKind(activate(V1)), activate(V1), activate(V2))U42#(tt, V1, V2) → U43#(isPalListKind(activate(V2)), activate(V1), activate(V2))
U41#(tt, V1, V2) → U42#(isPalListKind(activate(V1)), activate(V1), activate(V2))U54#(tt, V1, V2) → U55#(isNeList(activate(V1)), activate(V2))
U43#(tt, V1, V2) → U44#(isPalListKind(activate(V2)), activate(V1), activate(V2))

Problem 9: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

U52#(tt, V1, V2) → U53#(isPalListKind(activate(V2)), activate(V1), activate(V2))U11#(tt, V) → U12#(isPalListKind(activate(V)), activate(V))
U53#(tt, V1, V2) → U54#(isPalListKind(activate(V2)), activate(V1), activate(V2))U45#(tt, V2) → isNeList#(activate(V2))
U51#(tt, V1, V2) → U52#(isPalListKind(activate(V1)), activate(V1), activate(V2))U44#(tt, V1, V2) → isList#(activate(V1))
isNeList#(n____(V1, V2)) → U41#(isPalListKind(activate(V1)), activate(V1), activate(V2))U55#(tt, V2) → isList#(activate(V2))
U44#(tt, V1, V2) → U45#(isList(activate(V1)), activate(V2))U12#(tt, V) → isNeList#(activate(V))
U54#(tt, V1, V2) → isNeList#(activate(V1))isList#(V) → U11#(isPalListKind(activate(V)), activate(V))
isNeList#(n____(V1, V2)) → U51#(isPalListKind(activate(V1)), activate(V1), activate(V2))U42#(tt, V1, V2) → U43#(isPalListKind(activate(V2)), activate(V1), activate(V2))
U41#(tt, V1, V2) → U42#(isPalListKind(activate(V1)), activate(V1), activate(V2))U54#(tt, V1, V2) → U55#(isNeList(activate(V1)), activate(V2))
U43#(tt, V1, V2) → U44#(isPalListKind(activate(V2)), activate(V1), activate(V2))

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt, V) → U12(isPalListKind(activate(V)), activate(V))
U12(tt, V) → U13(isNeList(activate(V)))U13(tt) → tt
U21(tt, V1, V2) → U22(isPalListKind(activate(V1)), activate(V1), activate(V2))U22(tt, V1, V2) → U23(isPalListKind(activate(V2)), activate(V1), activate(V2))
U23(tt, V1, V2) → U24(isPalListKind(activate(V2)), activate(V1), activate(V2))U24(tt, V1, V2) → U25(isList(activate(V1)), activate(V2))
U25(tt, V2) → U26(isList(activate(V2)))U26(tt) → tt
U31(tt, V) → U32(isPalListKind(activate(V)), activate(V))U32(tt, V) → U33(isQid(activate(V)))
U33(tt) → ttU41(tt, V1, V2) → U42(isPalListKind(activate(V1)), activate(V1), activate(V2))
U42(tt, V1, V2) → U43(isPalListKind(activate(V2)), activate(V1), activate(V2))U43(tt, V1, V2) → U44(isPalListKind(activate(V2)), activate(V1), activate(V2))
U44(tt, V1, V2) → U45(isList(activate(V1)), activate(V2))U45(tt, V2) → U46(isNeList(activate(V2)))
U46(tt) → ttU51(tt, V1, V2) → U52(isPalListKind(activate(V1)), activate(V1), activate(V2))
U52(tt, V1, V2) → U53(isPalListKind(activate(V2)), activate(V1), activate(V2))U53(tt, V1, V2) → U54(isPalListKind(activate(V2)), activate(V1), activate(V2))
U54(tt, V1, V2) → U55(isNeList(activate(V1)), activate(V2))U55(tt, V2) → U56(isList(activate(V2)))
U56(tt) → ttU61(tt, V) → U62(isPalListKind(activate(V)), activate(V))
U62(tt, V) → U63(isQid(activate(V)))U63(tt) → tt
U71(tt, I, P) → U72(isPalListKind(activate(I)), activate(P))U72(tt, P) → U73(isPal(activate(P)), activate(P))
U73(tt, P) → U74(isPalListKind(activate(P)))U74(tt) → tt
U81(tt, V) → U82(isPalListKind(activate(V)), activate(V))U82(tt, V) → U83(isNePal(activate(V)))
U83(tt) → ttU91(tt, V2) → U92(isPalListKind(activate(V2)))
U92(tt) → ttisList(V) → U11(isPalListKind(activate(V)), activate(V))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(V) → U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2)) → U41(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(n____(V1, V2)) → U51(isPalListKind(activate(V1)), activate(V1), activate(V2))isNePal(V) → U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(I), activate(P))isPal(V) → U81(isPalListKind(activate(V)), activate(V))
isPal(n__nil) → ttisPalListKind(n__a) → tt
isPalListKind(n__e) → ttisPalListKind(n__i) → tt
isPalListKind(n__nil) → ttisPalListKind(n__o) → tt
isPalListKind(n__u) → ttisPalListKind(n____(V1, V2)) → U91(isPalListKind(activate(V1)), activate(V2))
isQid(n__a) → ttisQid(n__e) → tt
isQid(n__i) → ttisQid(n__o) → tt
isQid(n__u) → ttnil → n__nil
__(X1, X2) → n____(X1, X2)a → n__a
e → n__ei → n__i
o → n__ou → n__u
activate(n__nil) → nilactivate(n____(X1, X2)) → __(X1, X2)
activate(n__a) → aactivate(n__e) → e
activate(n__i) → iactivate(n__o) → o
activate(n__u) → uactivate(X) → X

Original Signature

Termination of terms over the following signature is verified: activate, U63, n__u, U25, U62, U26, U61, n__o, n__nil, U23, U24, U21, U22, n__e, n__a, isPal, n__i, U71, U73, U72, U74, isQid, U31, U32, U33, isList, isNeList, __, U46, U45, U44, U43, U42, U41, U92, isNePal, U91, e, isPalListKind, a, U83, o, i, U55, U54, u, U56, U51, tt, U53, U82, U52, U81, U11, U12, U13, n____, nil

Strategy


Polynomial Interpretation

Standard Usable rules

isPalListKind(n____(V1, V2)) → U91(isPalListKind(activate(V1)), activate(V2))U24(tt, V1, V2) → U25(isList(activate(V1)), activate(V2))
U22(tt, V1, V2) → U23(isPalListKind(activate(V2)), activate(V1), activate(V2))U21(tt, V1, V2) → U22(isPalListKind(activate(V1)), activate(V1), activate(V2))
U25(tt, V2) → U26(isList(activate(V2)))U43(tt, V1, V2) → U44(isPalListKind(activate(V2)), activate(V1), activate(V2))
U92(tt) → ttU11(tt, V) → U12(isPalListKind(activate(V)), activate(V))
U13(tt) → ttU12(tt, V) → U13(isNeList(activate(V)))
U56(tt) → ttactivate(n__a) → a
U32(tt, V) → U33(isQid(activate(V)))activate(n__i) → i
U44(tt, V1, V2) → U45(isList(activate(V1)), activate(V2))isQid(n__i) → tt
U54(tt, V1, V2) → U55(isNeList(activate(V1)), activate(V2))U91(tt, V2) → U92(isPalListKind(activate(V2)))
activate(X) → XU45(tt, V2) → U46(isNeList(activate(V2)))
__(nil, X) → Xu → n__u
i → n__io → n__o
nil → n__nilisQid(n__o) → tt
U46(tt) → tt__(__(X, Y), Z) → __(X, __(Y, Z))
isPalListKind(n__i) → tt__(X, nil) → X
a → n__aisNeList(V) → U31(isPalListKind(activate(V)), activate(V))
activate(n__nil) → nilisPalListKind(n__nil) → tt
U52(tt, V1, V2) → U53(isPalListKind(activate(V2)), activate(V1), activate(V2))isList(V) → U11(isPalListKind(activate(V)), activate(V))
U33(tt) → ttU41(tt, V1, V2) → U42(isPalListKind(activate(V1)), activate(V1), activate(V2))
isQid(n__u) → ttisNeList(n____(V1, V2)) → U41(isPalListKind(activate(V1)), activate(V1), activate(V2))
isPalListKind(n__a) → ttisPalListKind(n__e) → tt
isQid(n__e) → tt__(X1, X2) → n____(X1, X2)
U23(tt, V1, V2) → U24(isPalListKind(activate(V2)), activate(V1), activate(V2))e → n__e
U42(tt, V1, V2) → U43(isPalListKind(activate(V2)), activate(V1), activate(V2))isPalListKind(n__o) → tt
isList(n__nil) → ttisQid(n__a) → tt
U53(tt, V1, V2) → U54(isPalListKind(activate(V2)), activate(V1), activate(V2))isList(n____(V1, V2)) → U21(isPalListKind(activate(V1)), activate(V1), activate(V2))
isPalListKind(n__u) → ttU55(tt, V2) → U56(isList(activate(V2)))
isNeList(n____(V1, V2)) → U51(isPalListKind(activate(V1)), activate(V1), activate(V2))activate(n____(X1, X2)) → __(X1, X2)
activate(n__u) → uU31(tt, V) → U32(isPalListKind(activate(V)), activate(V))
activate(n__o) → oU26(tt) → tt
U51(tt, V1, V2) → U52(isPalListKind(activate(V1)), activate(V1), activate(V2))activate(n__e) → e

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

U51#(tt, V1, V2) → U52#(isPalListKind(activate(V1)), activate(V1), activate(V2))U42#(tt, V1, V2) → U43#(isPalListKind(activate(V2)), activate(V1), activate(V2))

Problem 10: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U52#(tt, V1, V2) → U53#(isPalListKind(activate(V2)), activate(V1), activate(V2))U11#(tt, V) → U12#(isPalListKind(activate(V)), activate(V))
U53#(tt, V1, V2) → U54#(isPalListKind(activate(V2)), activate(V1), activate(V2))U45#(tt, V2) → isNeList#(activate(V2))
U44#(tt, V1, V2) → isList#(activate(V1))isNeList#(n____(V1, V2)) → U41#(isPalListKind(activate(V1)), activate(V1), activate(V2))
U55#(tt, V2) → isList#(activate(V2))U44#(tt, V1, V2) → U45#(isList(activate(V1)), activate(V2))
U12#(tt, V) → isNeList#(activate(V))U54#(tt, V1, V2) → isNeList#(activate(V1))
isList#(V) → U11#(isPalListKind(activate(V)), activate(V))isNeList#(n____(V1, V2)) → U51#(isPalListKind(activate(V1)), activate(V1), activate(V2))
U54#(tt, V1, V2) → U55#(isNeList(activate(V1)), activate(V2))U41#(tt, V1, V2) → U42#(isPalListKind(activate(V1)), activate(V1), activate(V2))
U43#(tt, V1, V2) → U44#(isPalListKind(activate(V2)), activate(V1), activate(V2))

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt, V) → U12(isPalListKind(activate(V)), activate(V))
U12(tt, V) → U13(isNeList(activate(V)))U13(tt) → tt
U21(tt, V1, V2) → U22(isPalListKind(activate(V1)), activate(V1), activate(V2))U22(tt, V1, V2) → U23(isPalListKind(activate(V2)), activate(V1), activate(V2))
U23(tt, V1, V2) → U24(isPalListKind(activate(V2)), activate(V1), activate(V2))U24(tt, V1, V2) → U25(isList(activate(V1)), activate(V2))
U25(tt, V2) → U26(isList(activate(V2)))U26(tt) → tt
U31(tt, V) → U32(isPalListKind(activate(V)), activate(V))U32(tt, V) → U33(isQid(activate(V)))
U33(tt) → ttU41(tt, V1, V2) → U42(isPalListKind(activate(V1)), activate(V1), activate(V2))
U42(tt, V1, V2) → U43(isPalListKind(activate(V2)), activate(V1), activate(V2))U43(tt, V1, V2) → U44(isPalListKind(activate(V2)), activate(V1), activate(V2))
U44(tt, V1, V2) → U45(isList(activate(V1)), activate(V2))U45(tt, V2) → U46(isNeList(activate(V2)))
U46(tt) → ttU51(tt, V1, V2) → U52(isPalListKind(activate(V1)), activate(V1), activate(V2))
U52(tt, V1, V2) → U53(isPalListKind(activate(V2)), activate(V1), activate(V2))U53(tt, V1, V2) → U54(isPalListKind(activate(V2)), activate(V1), activate(V2))
U54(tt, V1, V2) → U55(isNeList(activate(V1)), activate(V2))U55(tt, V2) → U56(isList(activate(V2)))
U56(tt) → ttU61(tt, V) → U62(isPalListKind(activate(V)), activate(V))
U62(tt, V) → U63(isQid(activate(V)))U63(tt) → tt
U71(tt, I, P) → U72(isPalListKind(activate(I)), activate(P))U72(tt, P) → U73(isPal(activate(P)), activate(P))
U73(tt, P) → U74(isPalListKind(activate(P)))U74(tt) → tt
U81(tt, V) → U82(isPalListKind(activate(V)), activate(V))U82(tt, V) → U83(isNePal(activate(V)))
U83(tt) → ttU91(tt, V2) → U92(isPalListKind(activate(V2)))
U92(tt) → ttisList(V) → U11(isPalListKind(activate(V)), activate(V))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(V) → U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2)) → U41(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(n____(V1, V2)) → U51(isPalListKind(activate(V1)), activate(V1), activate(V2))isNePal(V) → U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(I), activate(P))isPal(V) → U81(isPalListKind(activate(V)), activate(V))
isPal(n__nil) → ttisPalListKind(n__a) → tt
isPalListKind(n__e) → ttisPalListKind(n__i) → tt
isPalListKind(n__nil) → ttisPalListKind(n__o) → tt
isPalListKind(n__u) → ttisPalListKind(n____(V1, V2)) → U91(isPalListKind(activate(V1)), activate(V2))
isQid(n__a) → ttisQid(n__e) → tt
isQid(n__i) → ttisQid(n__o) → tt
isQid(n__u) → ttnil → n__nil
__(X1, X2) → n____(X1, X2)a → n__a
e → n__ei → n__i
o → n__ou → n__u
activate(n__nil) → nilactivate(n____(X1, X2)) → __(X1, X2)
activate(n__a) → aactivate(n__e) → e
activate(n__i) → iactivate(n__o) → o
activate(n__u) → uactivate(X) → X

Original Signature

Termination of terms over the following signature is verified: activate, U63, n__u, U25, U62, U26, U61, n__o, n__nil, U23, U24, U21, U22, n__e, n__a, isPal, n__i, U71, U73, U72, U74, U31, isQid, U32, U33, isList, isNeList, __, U46, U45, U44, U43, U42, U41, U92, isNePal, U91, e, isPalListKind, a, U83, o, i, U55, U54, u, U56, U51, tt, U82, U53, U81, U52, U11, U12, U13, n____, nil

Strategy


There are no SCCs!

Problem 5: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

__#(__(X, Y), Z) → __#(X, __(Y, Z))__#(__(X, Y), Z) → __#(Y, Z)

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt, V) → U12(isPalListKind(activate(V)), activate(V))
U12(tt, V) → U13(isNeList(activate(V)))U13(tt) → tt
U21(tt, V1, V2) → U22(isPalListKind(activate(V1)), activate(V1), activate(V2))U22(tt, V1, V2) → U23(isPalListKind(activate(V2)), activate(V1), activate(V2))
U23(tt, V1, V2) → U24(isPalListKind(activate(V2)), activate(V1), activate(V2))U24(tt, V1, V2) → U25(isList(activate(V1)), activate(V2))
U25(tt, V2) → U26(isList(activate(V2)))U26(tt) → tt
U31(tt, V) → U32(isPalListKind(activate(V)), activate(V))U32(tt, V) → U33(isQid(activate(V)))
U33(tt) → ttU41(tt, V1, V2) → U42(isPalListKind(activate(V1)), activate(V1), activate(V2))
U42(tt, V1, V2) → U43(isPalListKind(activate(V2)), activate(V1), activate(V2))U43(tt, V1, V2) → U44(isPalListKind(activate(V2)), activate(V1), activate(V2))
U44(tt, V1, V2) → U45(isList(activate(V1)), activate(V2))U45(tt, V2) → U46(isNeList(activate(V2)))
U46(tt) → ttU51(tt, V1, V2) → U52(isPalListKind(activate(V1)), activate(V1), activate(V2))
U52(tt, V1, V2) → U53(isPalListKind(activate(V2)), activate(V1), activate(V2))U53(tt, V1, V2) → U54(isPalListKind(activate(V2)), activate(V1), activate(V2))
U54(tt, V1, V2) → U55(isNeList(activate(V1)), activate(V2))U55(tt, V2) → U56(isList(activate(V2)))
U56(tt) → ttU61(tt, V) → U62(isPalListKind(activate(V)), activate(V))
U62(tt, V) → U63(isQid(activate(V)))U63(tt) → tt
U71(tt, I, P) → U72(isPalListKind(activate(I)), activate(P))U72(tt, P) → U73(isPal(activate(P)), activate(P))
U73(tt, P) → U74(isPalListKind(activate(P)))U74(tt) → tt
U81(tt, V) → U82(isPalListKind(activate(V)), activate(V))U82(tt, V) → U83(isNePal(activate(V)))
U83(tt) → ttU91(tt, V2) → U92(isPalListKind(activate(V2)))
U92(tt) → ttisList(V) → U11(isPalListKind(activate(V)), activate(V))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(V) → U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2)) → U41(isPalListKind(activate(V1)), activate(V1), activate(V2))
isNeList(n____(V1, V2)) → U51(isPalListKind(activate(V1)), activate(V1), activate(V2))isNePal(V) → U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(I), activate(P))isPal(V) → U81(isPalListKind(activate(V)), activate(V))
isPal(n__nil) → ttisPalListKind(n__a) → tt
isPalListKind(n__e) → ttisPalListKind(n__i) → tt
isPalListKind(n__nil) → ttisPalListKind(n__o) → tt
isPalListKind(n__u) → ttisPalListKind(n____(V1, V2)) → U91(isPalListKind(activate(V1)), activate(V2))
isQid(n__a) → ttisQid(n__e) → tt
isQid(n__i) → ttisQid(n__o) → tt
isQid(n__u) → ttnil → n__nil
__(X1, X2) → n____(X1, X2)a → n__a
e → n__ei → n__i
o → n__ou → n__u
activate(n__nil) → nilactivate(n____(X1, X2)) → __(X1, X2)
activate(n__a) → aactivate(n__e) → e
activate(n__i) → iactivate(n__o) → o
activate(n__u) → uactivate(X) → X

Original Signature

Termination of terms over the following signature is verified: activate, U63, n__u, U25, U62, U26, U61, n__o, n__nil, U23, U24, U21, U22, n__e, n__a, isPal, n__i, U71, U73, U72, U74, U31, isQid, U32, U33, isList, isNeList, __, U46, U45, U44, U43, U42, U41, U92, isNePal, U91, e, isPalListKind, a, U83, o, i, U55, U54, u, U56, U51, tt, U82, U53, U81, U52, U11, U12, U13, n____, nil

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

__#(__(X, Y), Z) → __#(X, __(Y, Z))__#(__(X, Y), Z) → __#(Y, Z)