YES

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (1128ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4 (531ms).
 |    | – Problem 6 was processed with processor DependencyGraph (19ms).
 |    |    | – Problem 9 was processed with processor PolynomialLinearRange4 (329ms).
 |    |    |    | – Problem 11 was processed with processor DependencyGraph (5ms).
 |    |    |    |    | – Problem 13 was processed with processor PolynomialLinearRange4 (265ms).
 |    |    |    |    |    | – Problem 15 was processed with processor DependencyGraph (1ms).
 | – Problem 3 was processed with processor PolynomialLinearRange4 (89ms).
 |    | – Problem 7 was processed with processor DependencyGraph (1ms).
 | – Problem 4 was processed with processor SubtermCriterion (0ms).
 | – Problem 5 was processed with processor PolynomialLinearRange4 (194ms).
 |    | – Problem 8 was processed with processor DependencyGraph (4ms).
 |    |    | – Problem 10 was processed with processor PolynomialLinearRange4 (56ms).
 |    |    |    | – Problem 12 was processed with processor DependencyGraph (25ms).
 |    |    |    |    | – Problem 14 was processed with processor PolynomialLinearRange4 (50ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

activate#(n__isPalListKind(X))isPalListKind#(X)U51#(tt, V1, V2)U52#(isNeList(activate(V1)), activate(V2))
and#(tt, X)activate#(X)isNeList#(n____(V1, V2))U51#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isList#(V)isPalListKind#(activate(V))U51#(tt, V1, V2)activate#(V1)
activate#(n__o)o#U21#(tt, V1, V2)U22#(isList(activate(V1)), activate(V2))
activate#(n__a)a#isNePal#(n____(I, __(P, I)))and#(isQid(activate(I)), n__isPalListKind(activate(I)))
isList#(V)U11#(isPalListKind(activate(V)), activate(V))isNeList#(n____(V1, V2))and#(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
isNeList#(n____(V1, V2))activate#(V1)isNeList#(V)U31#(isPalListKind(activate(V)), activate(V))
U71#(tt, V)U72#(isNePal(activate(V)))U21#(tt, V1, V2)activate#(V1)
U11#(tt, V)activate#(V)isNeList#(V)isPalListKind#(activate(V))
U52#(tt, V2)U53#(isList(activate(V2)))U31#(tt, V)U32#(isQid(activate(V)))
isPalListKind#(n____(V1, V2))and#(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))isList#(n____(V1, V2))isPalListKind#(activate(V1))
U52#(tt, V2)activate#(V2)isNePal#(V)U61#(isPalListKind(activate(V)), activate(V))
isNePal#(n____(I, __(P, I)))activate#(P)isNePal#(V)isPalListKind#(activate(V))
activate#(n__u)u#U41#(tt, V1, V2)activate#(V1)
activate#(n____(X1, X2))__#(X1, X2)U21#(tt, V1, V2)activate#(V2)
U21#(tt, V1, V2)isList#(activate(V1))isNeList#(n____(V1, V2))isPalListKind#(activate(V1))
isNeList#(n____(V1, V2))U41#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))activate#(n__e)e#
isNePal#(n____(I, __(P, I)))activate#(I)U42#(tt, V2)U43#(isNeList(activate(V2)))
isPalListKind#(n____(V1, V2))isPalListKind#(activate(V1))U22#(tt, V2)U23#(isList(activate(V2)))
activate#(n__i)i#isNeList#(n____(V1, V2))activate#(V2)
U41#(tt, V1, V2)isList#(activate(V1))U41#(tt, V1, V2)U42#(isList(activate(V1)), activate(V2))
isList#(n____(V1, V2))and#(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))isPal#(V)isPalListKind#(activate(V))
isPal#(V)activate#(V)isPal#(V)U71#(isPalListKind(activate(V)), activate(V))
U42#(tt, V2)isNeList#(activate(V2))U51#(tt, V1, V2)activate#(V2)
U61#(tt, V)U62#(isQid(activate(V)))isNePal#(n____(I, __(P, I)))and#(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P))))
__#(__(X, Y), Z)__#(Y, Z)isNePal#(V)activate#(V)
U22#(tt, V2)activate#(V2)U11#(tt, V)isNeList#(activate(V))
isNePal#(n____(I, __(P, I)))isPal#(activate(P))isList#(n____(V1, V2))activate#(V1)
U71#(tt, V)isNePal#(activate(V))isList#(n____(V1, V2))activate#(V2)
isNeList#(V)activate#(V)U71#(tt, V)activate#(V)
U31#(tt, V)activate#(V)U11#(tt, V)U12#(isNeList(activate(V)))
isPalListKind#(n____(V1, V2))activate#(V1)U51#(tt, V1, V2)isNeList#(activate(V1))
U42#(tt, V2)activate#(V2)U22#(tt, V2)isList#(activate(V2))
U61#(tt, V)isQid#(activate(V))U52#(tt, V2)isList#(activate(V2))
__#(__(X, Y), Z)__#(X, __(Y, Z))U41#(tt, V1, V2)activate#(V2)
isList#(n____(V1, V2))U21#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))U61#(tt, V)activate#(V)
activate#(n__nil)nil#isPalListKind#(n____(V1, V2))activate#(V2)
U31#(tt, V)isQid#(activate(V))isNePal#(n____(I, __(P, I)))isQid#(activate(I))
isList#(V)activate#(V)activate#(n__and(X1, X2))and#(X1, X2)

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)XU11(tt, V)U12(isNeList(activate(V)))
U12(tt)ttU21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
U22(tt, V2)U23(isList(activate(V2)))U23(tt)tt
U31(tt, V)U32(isQid(activate(V)))U32(tt)tt
U41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))U42(tt, V2)U43(isNeList(activate(V2)))
U43(tt)ttU51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U53(tt)tt
U61(tt, V)U62(isQid(activate(V)))U62(tt)tt
U71(tt, V)U72(isNePal(activate(V)))U72(tt)tt
and(tt, X)activate(X)isList(V)U11(isPalListKind(activate(V)), activate(V))
isList(n__nil)ttisList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(V)U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isNePal(V)U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I)))and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P))))isPal(V)U71(isPalListKind(activate(V)), activate(V))
isPal(n__nil)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))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isPalListKind(X)n__isPalListKind(X)
and(X1, X2)n__and(X1, X2)an__a
en__ein__i
on__oun__u
activate(n__nil)nilactivate(n____(X1, X2))__(X1, X2)
activate(n__isPalListKind(X))isPalListKind(X)activate(n__and(X1, X2))and(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: isList, isNeList, __, activate, U62, n__u, U61, U43, U42, n__o, U41, isNePal, n__nil, U23, U21, U22, n__e, e, isPalListKind, n__a, a, o, isPal, n__i, U71, and, i, U72, n__and, u, U51, tt, U53, U52, U11, U12, isQid, U31, U32, n____, nil, n__isPalListKind

Strategy


The following SCCs where found

activate#(n__isPalListKind(X)) → isPalListKind#(X)isPalListKind#(n____(V1, V2)) → activate#(V2)
and#(tt, X) → activate#(X)isPalListKind#(n____(V1, V2)) → activate#(V1)
isPalListKind#(n____(V1, V2)) → isPalListKind#(activate(V1))activate#(n__and(X1, X2)) → and#(X1, X2)
isPalListKind#(n____(V1, V2)) → and#(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))

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

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

U51#(tt, V1, V2) → U52#(isNeList(activate(V1)), activate(V2))U42#(tt, V2) → isNeList#(activate(V2))
U52#(tt, V2) → isList#(activate(V2))isNeList#(n____(V1, V2)) → U51#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
U21#(tt, V1, V2) → U22#(isList(activate(V1)), activate(V2))U11#(tt, V) → isNeList#(activate(V))
isList#(n____(V1, V2)) → U21#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))U21#(tt, V1, V2) → isList#(activate(V1))
isNeList#(n____(V1, V2)) → U41#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isList#(V) → U11#(isPalListKind(activate(V)), activate(V))
U41#(tt, V1, V2) → isList#(activate(V1))U51#(tt, V1, V2) → isNeList#(activate(V1))
U41#(tt, V1, V2) → U42#(isList(activate(V1)), activate(V2))U22#(tt, V2) → isList#(activate(V2))

Problem 2: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

U42#(tt, V2)isNeList#(activate(V2))U51#(tt, V1, V2)U52#(isNeList(activate(V1)), activate(V2))
isNeList#(n____(V1, V2))U51#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))U52#(tt, V2)isList#(activate(V2))
U21#(tt, V1, V2)U22#(isList(activate(V1)), activate(V2))U11#(tt, V)isNeList#(activate(V))
isList#(n____(V1, V2))U21#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))U21#(tt, V1, V2)isList#(activate(V1))
isNeList#(n____(V1, V2))U41#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isList#(V)U11#(isPalListKind(activate(V)), activate(V))
U41#(tt, V1, V2)U42#(isList(activate(V1)), activate(V2))U51#(tt, V1, V2)isNeList#(activate(V1))
U41#(tt, V1, V2)isList#(activate(V1))U22#(tt, V2)isList#(activate(V2))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)XU11(tt, V)U12(isNeList(activate(V)))
U12(tt)ttU21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
U22(tt, V2)U23(isList(activate(V2)))U23(tt)tt
U31(tt, V)U32(isQid(activate(V)))U32(tt)tt
U41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))U42(tt, V2)U43(isNeList(activate(V2)))
U43(tt)ttU51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U53(tt)tt
U61(tt, V)U62(isQid(activate(V)))U62(tt)tt
U71(tt, V)U72(isNePal(activate(V)))U72(tt)tt
and(tt, X)activate(X)isList(V)U11(isPalListKind(activate(V)), activate(V))
isList(n__nil)ttisList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(V)U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isNePal(V)U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I)))and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P))))isPal(V)U71(isPalListKind(activate(V)), activate(V))
isPal(n__nil)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))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isPalListKind(X)n__isPalListKind(X)
and(X1, X2)n__and(X1, X2)an__a
en__ein__i
on__oun__u
activate(n__nil)nilactivate(n____(X1, X2))__(X1, X2)
activate(n__isPalListKind(X))isPalListKind(X)activate(n__and(X1, X2))and(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: isList, isNeList, __, activate, U62, n__u, U61, U43, U42, n__o, U41, isNePal, n__nil, U23, U21, U22, n__e, e, isPalListKind, n__a, a, o, isPal, n__i, U71, and, i, U72, n__and, u, U51, tt, U53, U52, U11, U12, isQid, U31, U32, n____, nil, n__isPalListKind

Strategy


Polynomial Interpretation

Standard Usable rules

U11(tt, V)U12(isNeList(activate(V)))U53(tt)tt
U51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U22(tt, V2)U23(isList(activate(V2)))
activate(n__a)aisPalListKind(X)n__isPalListKind(X)
U43(tt)ttactivate(n__i)i
U12(tt)ttisQid(n__i)tt
and(tt, X)activate(X)isList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
activate(n__isPalListKind(X))isPalListKind(X)U21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
activate(X)X__(nil, X)X
un__uin__i
activate(n__and(X1, X2))and(X1, X2)on__o
niln__nilisQid(n__o)tt
isPalListKind(n__i)tt__(__(X, Y), Z)__(X, __(Y, Z))
__(X, nil)XisNeList(V)U31(isPalListKind(activate(V)), activate(V))
an__aisPalListKind(n____(V1, V2))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
activate(n__nil)nilisPalListKind(n__nil)tt
U31(tt, V)U32(isQid(activate(V)))isList(V)U11(isPalListKind(activate(V)), activate(V))
isQid(n__u)ttU32(tt)tt
isPalListKind(n__a)ttisPalListKind(n__e)tt
isQid(n__e)tt__(X1, X2)n____(X1, X2)
en__eisPalListKind(n__o)tt
U23(tt)ttand(X1, X2)n__and(X1, X2)
isList(n__nil)ttisNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isQid(n__a)ttisPalListKind(n__u)tt
activate(n____(X1, X2))__(X1, X2)U42(tt, V2)U43(isNeList(activate(V2)))
activate(n__u)uU41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))
activate(n__o)oactivate(n__e)e

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

isNeList#(n____(V1, V2))U51#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))

Problem 6: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U42#(tt, V2)isNeList#(activate(V2))U51#(tt, V1, V2)U52#(isNeList(activate(V1)), activate(V2))
U52#(tt, V2)isList#(activate(V2))U21#(tt, V1, V2)U22#(isList(activate(V1)), activate(V2))
U11#(tt, V)isNeList#(activate(V))isList#(n____(V1, V2))U21#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
U21#(tt, V1, V2)isList#(activate(V1))isNeList#(n____(V1, V2))U41#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isList#(V)U11#(isPalListKind(activate(V)), activate(V))U41#(tt, V1, V2)U42#(isList(activate(V1)), activate(V2))
U51#(tt, V1, V2)isNeList#(activate(V1))U41#(tt, V1, V2)isList#(activate(V1))
U22#(tt, V2)isList#(activate(V2))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)XU11(tt, V)U12(isNeList(activate(V)))
U12(tt)ttU21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
U22(tt, V2)U23(isList(activate(V2)))U23(tt)tt
U31(tt, V)U32(isQid(activate(V)))U32(tt)tt
U41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))U42(tt, V2)U43(isNeList(activate(V2)))
U43(tt)ttU51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U53(tt)tt
U61(tt, V)U62(isQid(activate(V)))U62(tt)tt
U71(tt, V)U72(isNePal(activate(V)))U72(tt)tt
and(tt, X)activate(X)isList(V)U11(isPalListKind(activate(V)), activate(V))
isList(n__nil)ttisList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(V)U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isNePal(V)U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I)))and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P))))isPal(V)U71(isPalListKind(activate(V)), activate(V))
isPal(n__nil)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))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isPalListKind(X)n__isPalListKind(X)
and(X1, X2)n__and(X1, X2)an__a
en__ein__i
on__oun__u
activate(n__nil)nilactivate(n____(X1, X2))__(X1, X2)
activate(n__isPalListKind(X))isPalListKind(X)activate(n__and(X1, X2))and(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: isList, isNeList, __, activate, n__u, U62, U43, U61, n__o, U42, U41, isNePal, n__nil, U23, U21, U22, n__e, e, isPalListKind, n__a, a, o, isPal, n__i, i, and, U71, n__and, U72, u, U51, tt, U53, U52, U11, U12, U31, isQid, U32, n____, n__isPalListKind, nil

Strategy


The following SCCs where found

isList#(n____(V1, V2)) → U21#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))U21#(tt, V1, V2) → isList#(activate(V1))
U42#(tt, V2) → isNeList#(activate(V2))isNeList#(n____(V1, V2)) → U41#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isList#(V) → U11#(isPalListKind(activate(V)), activate(V))U41#(tt, V1, V2) → isList#(activate(V1))
U41#(tt, V1, V2) → U42#(isList(activate(V1)), activate(V2))U21#(tt, V1, V2) → U22#(isList(activate(V1)), activate(V2))
U22#(tt, V2) → isList#(activate(V2))U11#(tt, V) → isNeList#(activate(V))

Problem 9: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isList#(n____(V1, V2))U21#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))U21#(tt, V1, V2)isList#(activate(V1))
U42#(tt, V2)isNeList#(activate(V2))isNeList#(n____(V1, V2))U41#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isList#(V)U11#(isPalListKind(activate(V)), activate(V))U41#(tt, V1, V2)isList#(activate(V1))
U41#(tt, V1, V2)U42#(isList(activate(V1)), activate(V2))U21#(tt, V1, V2)U22#(isList(activate(V1)), activate(V2))
U22#(tt, V2)isList#(activate(V2))U11#(tt, V)isNeList#(activate(V))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)XU11(tt, V)U12(isNeList(activate(V)))
U12(tt)ttU21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
U22(tt, V2)U23(isList(activate(V2)))U23(tt)tt
U31(tt, V)U32(isQid(activate(V)))U32(tt)tt
U41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))U42(tt, V2)U43(isNeList(activate(V2)))
U43(tt)ttU51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U53(tt)tt
U61(tt, V)U62(isQid(activate(V)))U62(tt)tt
U71(tt, V)U72(isNePal(activate(V)))U72(tt)tt
and(tt, X)activate(X)isList(V)U11(isPalListKind(activate(V)), activate(V))
isList(n__nil)ttisList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(V)U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isNePal(V)U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I)))and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P))))isPal(V)U71(isPalListKind(activate(V)), activate(V))
isPal(n__nil)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))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isPalListKind(X)n__isPalListKind(X)
and(X1, X2)n__and(X1, X2)an__a
en__ein__i
on__oun__u
activate(n__nil)nilactivate(n____(X1, X2))__(X1, X2)
activate(n__isPalListKind(X))isPalListKind(X)activate(n__and(X1, X2))and(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: isList, isNeList, __, activate, n__u, U62, U43, U61, n__o, U42, U41, isNePal, n__nil, U23, U21, U22, n__e, e, isPalListKind, n__a, a, o, isPal, n__i, i, and, U71, n__and, U72, u, U51, tt, U53, U52, U11, U12, U31, isQid, U32, n____, n__isPalListKind, nil

Strategy


Polynomial Interpretation

Standard Usable rules

U11(tt, V)U12(isNeList(activate(V)))U53(tt)tt
U51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U22(tt, V2)U23(isList(activate(V2)))
activate(n__a)aisPalListKind(X)n__isPalListKind(X)
U43(tt)ttactivate(n__i)i
U12(tt)ttisQid(n__i)tt
and(tt, X)activate(X)isList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
activate(n__isPalListKind(X))isPalListKind(X)U21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
activate(X)X__(nil, X)X
in__iun__u
activate(n__and(X1, X2))and(X1, X2)niln__nil
on__oisQid(n__o)tt
__(__(X, Y), Z)__(X, __(Y, Z))isPalListKind(n__i)tt
__(X, nil)Xan__a
isNeList(V)U31(isPalListKind(activate(V)), activate(V))isPalListKind(n____(V1, V2))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
activate(n__nil)nilisPalListKind(n__nil)tt
U31(tt, V)U32(isQid(activate(V)))isList(V)U11(isPalListKind(activate(V)), activate(V))
isQid(n__u)ttU32(tt)tt
isPalListKind(n__a)ttisPalListKind(n__e)tt
isQid(n__e)tt__(X1, X2)n____(X1, X2)
en__eisPalListKind(n__o)tt
U23(tt)ttisList(n__nil)tt
and(X1, X2)n__and(X1, X2)isNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isQid(n__a)ttisPalListKind(n__u)tt
activate(n____(X1, X2))__(X1, X2)U42(tt, V2)U43(isNeList(activate(V2)))
activate(n__u)uU41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))
activate(n__o)oactivate(n__e)e

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

isList#(n____(V1, V2))U21#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isList#(V)U11#(isPalListKind(activate(V)), activate(V))
U41#(tt, V1, V2)isList#(activate(V1))

Problem 11: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U42#(tt, V2)isNeList#(activate(V2))U21#(tt, V1, V2)isList#(activate(V1))
isNeList#(n____(V1, V2))U41#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))U41#(tt, V1, V2)U42#(isList(activate(V1)), activate(V2))
U21#(tt, V1, V2)U22#(isList(activate(V1)), activate(V2))U22#(tt, V2)isList#(activate(V2))
U11#(tt, V)isNeList#(activate(V))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)XU11(tt, V)U12(isNeList(activate(V)))
U12(tt)ttU21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
U22(tt, V2)U23(isList(activate(V2)))U23(tt)tt
U31(tt, V)U32(isQid(activate(V)))U32(tt)tt
U41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))U42(tt, V2)U43(isNeList(activate(V2)))
U43(tt)ttU51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U53(tt)tt
U61(tt, V)U62(isQid(activate(V)))U62(tt)tt
U71(tt, V)U72(isNePal(activate(V)))U72(tt)tt
and(tt, X)activate(X)isList(V)U11(isPalListKind(activate(V)), activate(V))
isList(n__nil)ttisList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(V)U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isNePal(V)U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I)))and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P))))isPal(V)U71(isPalListKind(activate(V)), activate(V))
isPal(n__nil)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))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isPalListKind(X)n__isPalListKind(X)
and(X1, X2)n__and(X1, X2)an__a
en__ein__i
on__oun__u
activate(n__nil)nilactivate(n____(X1, X2))__(X1, X2)
activate(n__isPalListKind(X))isPalListKind(X)activate(n__and(X1, X2))and(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: isList, isNeList, __, activate, U62, n__u, U61, U43, U42, n__o, U41, isNePal, n__nil, U23, U21, U22, n__e, e, isPalListKind, n__a, a, o, isPal, n__i, U71, and, i, U72, n__and, u, U51, tt, U53, U52, U11, U12, isQid, U31, U32, n____, nil, n__isPalListKind

Strategy


The following SCCs where found

U42#(tt, V2) → isNeList#(activate(V2))isNeList#(n____(V1, V2)) → U41#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
U41#(tt, V1, V2) → U42#(isList(activate(V1)), activate(V2))

Problem 13: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

U42#(tt, V2)isNeList#(activate(V2))isNeList#(n____(V1, V2))U41#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
U41#(tt, V1, V2)U42#(isList(activate(V1)), activate(V2))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)XU11(tt, V)U12(isNeList(activate(V)))
U12(tt)ttU21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
U22(tt, V2)U23(isList(activate(V2)))U23(tt)tt
U31(tt, V)U32(isQid(activate(V)))U32(tt)tt
U41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))U42(tt, V2)U43(isNeList(activate(V2)))
U43(tt)ttU51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U53(tt)tt
U61(tt, V)U62(isQid(activate(V)))U62(tt)tt
U71(tt, V)U72(isNePal(activate(V)))U72(tt)tt
and(tt, X)activate(X)isList(V)U11(isPalListKind(activate(V)), activate(V))
isList(n__nil)ttisList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(V)U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isNePal(V)U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I)))and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P))))isPal(V)U71(isPalListKind(activate(V)), activate(V))
isPal(n__nil)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))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isPalListKind(X)n__isPalListKind(X)
and(X1, X2)n__and(X1, X2)an__a
en__ein__i
on__oun__u
activate(n__nil)nilactivate(n____(X1, X2))__(X1, X2)
activate(n__isPalListKind(X))isPalListKind(X)activate(n__and(X1, X2))and(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: isList, isNeList, __, activate, U62, n__u, U61, U43, U42, n__o, U41, isNePal, n__nil, U23, U21, U22, n__e, e, isPalListKind, n__a, a, o, isPal, n__i, U71, and, i, U72, n__and, u, U51, tt, U53, U52, U11, U12, isQid, U31, U32, n____, nil, n__isPalListKind

Strategy


Polynomial Interpretation

Standard Usable rules

U11(tt, V)U12(isNeList(activate(V)))U53(tt)tt
U51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U22(tt, V2)U23(isList(activate(V2)))
activate(n__a)aisPalListKind(X)n__isPalListKind(X)
U43(tt)ttactivate(n__i)i
U12(tt)ttisQid(n__i)tt
and(tt, X)activate(X)isList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
activate(n__isPalListKind(X))isPalListKind(X)U21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
activate(X)X__(nil, X)X
in__iun__u
activate(n__and(X1, X2))and(X1, X2)niln__nil
on__oisQid(n__o)tt
__(__(X, Y), Z)__(X, __(Y, Z))isPalListKind(n__i)tt
__(X, nil)Xan__a
isNeList(V)U31(isPalListKind(activate(V)), activate(V))isPalListKind(n____(V1, V2))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
activate(n__nil)nilisPalListKind(n__nil)tt
U31(tt, V)U32(isQid(activate(V)))isList(V)U11(isPalListKind(activate(V)), activate(V))
isQid(n__u)ttU32(tt)tt
isPalListKind(n__a)ttisPalListKind(n__e)tt
isQid(n__e)tt__(X1, X2)n____(X1, X2)
en__eisPalListKind(n__o)tt
U23(tt)ttisList(n__nil)tt
and(X1, X2)n__and(X1, X2)isNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isQid(n__a)ttisPalListKind(n__u)tt
activate(n____(X1, X2))__(X1, X2)U42(tt, V2)U43(isNeList(activate(V2)))
activate(n__u)uU41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))
activate(n__o)oactivate(n__e)e

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

isNeList#(n____(V1, V2))U41#(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))

Problem 15: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U42#(tt, V2)isNeList#(activate(V2))U41#(tt, V1, V2)U42#(isList(activate(V1)), activate(V2))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)XU11(tt, V)U12(isNeList(activate(V)))
U12(tt)ttU21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
U22(tt, V2)U23(isList(activate(V2)))U23(tt)tt
U31(tt, V)U32(isQid(activate(V)))U32(tt)tt
U41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))U42(tt, V2)U43(isNeList(activate(V2)))
U43(tt)ttU51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U53(tt)tt
U61(tt, V)U62(isQid(activate(V)))U62(tt)tt
U71(tt, V)U72(isNePal(activate(V)))U72(tt)tt
and(tt, X)activate(X)isList(V)U11(isPalListKind(activate(V)), activate(V))
isList(n__nil)ttisList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(V)U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isNePal(V)U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I)))and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P))))isPal(V)U71(isPalListKind(activate(V)), activate(V))
isPal(n__nil)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))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isPalListKind(X)n__isPalListKind(X)
and(X1, X2)n__and(X1, X2)an__a
en__ein__i
on__oun__u
activate(n__nil)nilactivate(n____(X1, X2))__(X1, X2)
activate(n__isPalListKind(X))isPalListKind(X)activate(n__and(X1, X2))and(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: isList, isNeList, __, activate, n__u, U62, U43, U61, n__o, U42, U41, isNePal, n__nil, U23, U21, U22, n__e, e, isPalListKind, n__a, a, o, isPal, n__i, i, and, U71, n__and, U72, u, U51, tt, U53, U52, U11, U12, U31, isQid, U32, n____, n__isPalListKind, nil

Strategy


There are no SCCs!

Problem 3: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isPal#(V)U71#(isPalListKind(activate(V)), activate(V))U71#(tt, V)isNePal#(activate(V))
isNePal#(n____(I, __(P, I)))isPal#(activate(P))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)XU11(tt, V)U12(isNeList(activate(V)))
U12(tt)ttU21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
U22(tt, V2)U23(isList(activate(V2)))U23(tt)tt
U31(tt, V)U32(isQid(activate(V)))U32(tt)tt
U41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))U42(tt, V2)U43(isNeList(activate(V2)))
U43(tt)ttU51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U53(tt)tt
U61(tt, V)U62(isQid(activate(V)))U62(tt)tt
U71(tt, V)U72(isNePal(activate(V)))U72(tt)tt
and(tt, X)activate(X)isList(V)U11(isPalListKind(activate(V)), activate(V))
isList(n__nil)ttisList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(V)U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isNePal(V)U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I)))and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P))))isPal(V)U71(isPalListKind(activate(V)), activate(V))
isPal(n__nil)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))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isPalListKind(X)n__isPalListKind(X)
and(X1, X2)n__and(X1, X2)an__a
en__ein__i
on__oun__u
activate(n__nil)nilactivate(n____(X1, X2))__(X1, X2)
activate(n__isPalListKind(X))isPalListKind(X)activate(n__and(X1, X2))and(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: isList, isNeList, __, activate, U62, n__u, U61, U43, U42, n__o, U41, isNePal, n__nil, U23, U21, U22, n__e, e, isPalListKind, n__a, a, o, isPal, n__i, U71, and, i, U72, n__and, u, U51, tt, U53, U52, U11, U12, isQid, U31, U32, n____, nil, n__isPalListKind

Strategy


Polynomial Interpretation

Standard Usable rules

isPalListKind(n__i)tt__(__(X, Y), Z)__(X, __(Y, Z))
__(X, nil)Xan__a
isPalListKind(n____(V1, V2))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))activate(n__nil)nil
isPalListKind(n__nil)ttisPalListKind(n__a)tt
isPalListKind(n__e)tt__(X1, X2)n____(X1, X2)
activate(n__a)aisPalListKind(X)n__isPalListKind(X)
en__eactivate(n__i)i
isPalListKind(n__o)ttand(X1, X2)n__and(X1, X2)
isPalListKind(n__u)ttactivate(n____(X1, X2))__(X1, X2)
and(tt, X)activate(X)activate(n__isPalListKind(X))isPalListKind(X)
activate(X)Xactivate(n__u)u
__(nil, X)Xin__i
un__uactivate(n__and(X1, X2))and(X1, X2)
activate(n__o)oniln__nil
on__oactivate(n__e)e

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

isNePal#(n____(I, __(P, I)))isPal#(activate(P))

Problem 7: DependencyGraph



Dependency Pair Problem

Dependency Pairs

isPal#(V)U71#(isPalListKind(activate(V)), activate(V))U71#(tt, V)isNePal#(activate(V))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)XU11(tt, V)U12(isNeList(activate(V)))
U12(tt)ttU21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
U22(tt, V2)U23(isList(activate(V2)))U23(tt)tt
U31(tt, V)U32(isQid(activate(V)))U32(tt)tt
U41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))U42(tt, V2)U43(isNeList(activate(V2)))
U43(tt)ttU51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U53(tt)tt
U61(tt, V)U62(isQid(activate(V)))U62(tt)tt
U71(tt, V)U72(isNePal(activate(V)))U72(tt)tt
and(tt, X)activate(X)isList(V)U11(isPalListKind(activate(V)), activate(V))
isList(n__nil)ttisList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(V)U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isNePal(V)U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I)))and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P))))isPal(V)U71(isPalListKind(activate(V)), activate(V))
isPal(n__nil)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))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isPalListKind(X)n__isPalListKind(X)
and(X1, X2)n__and(X1, X2)an__a
en__ein__i
on__oun__u
activate(n__nil)nilactivate(n____(X1, X2))__(X1, X2)
activate(n__isPalListKind(X))isPalListKind(X)activate(n__and(X1, X2))and(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: isList, isNeList, __, activate, n__u, U62, U43, U61, n__o, U42, U41, isNePal, n__nil, U23, U21, U22, n__e, e, isPalListKind, n__a, a, o, isPal, n__i, i, and, U71, n__and, U72, u, U51, tt, U53, U52, U11, U12, U31, isQid, U32, n____, n__isPalListKind, nil

Strategy


There are no SCCs!

Problem 4: 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(isNeList(activate(V)))
U12(tt)ttU21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
U22(tt, V2)U23(isList(activate(V2)))U23(tt)tt
U31(tt, V)U32(isQid(activate(V)))U32(tt)tt
U41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))U42(tt, V2)U43(isNeList(activate(V2)))
U43(tt)ttU51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U53(tt)tt
U61(tt, V)U62(isQid(activate(V)))U62(tt)tt
U71(tt, V)U72(isNePal(activate(V)))U72(tt)tt
and(tt, X)activate(X)isList(V)U11(isPalListKind(activate(V)), activate(V))
isList(n__nil)ttisList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(V)U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isNePal(V)U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I)))and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P))))isPal(V)U71(isPalListKind(activate(V)), activate(V))
isPal(n__nil)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))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isPalListKind(X)n__isPalListKind(X)
and(X1, X2)n__and(X1, X2)an__a
en__ein__i
on__oun__u
activate(n__nil)nilactivate(n____(X1, X2))__(X1, X2)
activate(n__isPalListKind(X))isPalListKind(X)activate(n__and(X1, X2))and(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: isList, isNeList, __, activate, U62, n__u, U61, U43, U42, n__o, U41, isNePal, n__nil, U23, U21, U22, n__e, e, isPalListKind, n__a, a, o, isPal, n__i, U71, and, i, U72, n__and, u, U51, tt, U53, U52, U11, U12, isQid, U31, U32, n____, nil, n__isPalListKind

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)

Problem 5: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

activate#(n__isPalListKind(X))isPalListKind#(X)isPalListKind#(n____(V1, V2))activate#(V2)
and#(tt, X)activate#(X)isPalListKind#(n____(V1, V2))activate#(V1)
isPalListKind#(n____(V1, V2))isPalListKind#(activate(V1))activate#(n__and(X1, X2))and#(X1, X2)
isPalListKind#(n____(V1, V2))and#(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)XU11(tt, V)U12(isNeList(activate(V)))
U12(tt)ttU21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
U22(tt, V2)U23(isList(activate(V2)))U23(tt)tt
U31(tt, V)U32(isQid(activate(V)))U32(tt)tt
U41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))U42(tt, V2)U43(isNeList(activate(V2)))
U43(tt)ttU51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U53(tt)tt
U61(tt, V)U62(isQid(activate(V)))U62(tt)tt
U71(tt, V)U72(isNePal(activate(V)))U72(tt)tt
and(tt, X)activate(X)isList(V)U11(isPalListKind(activate(V)), activate(V))
isList(n__nil)ttisList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(V)U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isNePal(V)U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I)))and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P))))isPal(V)U71(isPalListKind(activate(V)), activate(V))
isPal(n__nil)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))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isPalListKind(X)n__isPalListKind(X)
and(X1, X2)n__and(X1, X2)an__a
en__ein__i
on__oun__u
activate(n__nil)nilactivate(n____(X1, X2))__(X1, X2)
activate(n__isPalListKind(X))isPalListKind(X)activate(n__and(X1, X2))and(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: isList, isNeList, __, activate, U62, n__u, U61, U43, U42, n__o, U41, isNePal, n__nil, U23, U21, U22, n__e, e, isPalListKind, n__a, a, o, isPal, n__i, U71, and, i, U72, n__and, u, U51, tt, U53, U52, U11, U12, isQid, U31, U32, n____, nil, n__isPalListKind

Strategy


Polynomial Interpretation

Standard Usable rules

isPalListKind(n__i)tt__(__(X, Y), Z)__(X, __(Y, Z))
__(X, nil)Xan__a
isPalListKind(n____(V1, V2))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))activate(n__nil)nil
isPalListKind(n__nil)ttisPalListKind(n__a)tt
isPalListKind(n__e)tt__(X1, X2)n____(X1, X2)
activate(n__a)aisPalListKind(X)n__isPalListKind(X)
en__eactivate(n__i)i
isPalListKind(n__o)ttand(X1, X2)n__and(X1, X2)
isPalListKind(n__u)ttactivate(n____(X1, X2))__(X1, X2)
and(tt, X)activate(X)activate(n__isPalListKind(X))isPalListKind(X)
activate(X)Xactivate(n__u)u
__(nil, X)Xin__i
un__uactivate(n__and(X1, X2))and(X1, X2)
activate(n__o)oniln__nil
on__oactivate(n__e)e

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

and#(tt, X)activate#(X)

Problem 8: DependencyGraph



Dependency Pair Problem

Dependency Pairs

activate#(n__isPalListKind(X))isPalListKind#(X)isPalListKind#(n____(V1, V2))activate#(V2)
isPalListKind#(n____(V1, V2))activate#(V1)isPalListKind#(n____(V1, V2))isPalListKind#(activate(V1))
activate#(n__and(X1, X2))and#(X1, X2)isPalListKind#(n____(V1, V2))and#(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)XU11(tt, V)U12(isNeList(activate(V)))
U12(tt)ttU21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
U22(tt, V2)U23(isList(activate(V2)))U23(tt)tt
U31(tt, V)U32(isQid(activate(V)))U32(tt)tt
U41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))U42(tt, V2)U43(isNeList(activate(V2)))
U43(tt)ttU51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U53(tt)tt
U61(tt, V)U62(isQid(activate(V)))U62(tt)tt
U71(tt, V)U72(isNePal(activate(V)))U72(tt)tt
and(tt, X)activate(X)isList(V)U11(isPalListKind(activate(V)), activate(V))
isList(n__nil)ttisList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(V)U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isNePal(V)U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I)))and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P))))isPal(V)U71(isPalListKind(activate(V)), activate(V))
isPal(n__nil)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))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isPalListKind(X)n__isPalListKind(X)
and(X1, X2)n__and(X1, X2)an__a
en__ein__i
on__oun__u
activate(n__nil)nilactivate(n____(X1, X2))__(X1, X2)
activate(n__isPalListKind(X))isPalListKind(X)activate(n__and(X1, X2))and(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: isList, isNeList, __, activate, n__u, U62, U43, U61, n__o, U42, U41, isNePal, n__nil, U23, U21, U22, n__e, e, isPalListKind, n__a, a, o, isPal, n__i, i, and, U71, n__and, U72, u, U51, tt, U53, U52, U11, U12, U31, isQid, U32, n____, n__isPalListKind, nil

Strategy


The following SCCs where found

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

Problem 10: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

activate#(n__isPalListKind(X))isPalListKind#(X)isPalListKind#(n____(V1, V2))activate#(V2)
isPalListKind#(n____(V1, V2))activate#(V1)isPalListKind#(n____(V1, V2))isPalListKind#(activate(V1))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)XU11(tt, V)U12(isNeList(activate(V)))
U12(tt)ttU21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
U22(tt, V2)U23(isList(activate(V2)))U23(tt)tt
U31(tt, V)U32(isQid(activate(V)))U32(tt)tt
U41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))U42(tt, V2)U43(isNeList(activate(V2)))
U43(tt)ttU51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U53(tt)tt
U61(tt, V)U62(isQid(activate(V)))U62(tt)tt
U71(tt, V)U72(isNePal(activate(V)))U72(tt)tt
and(tt, X)activate(X)isList(V)U11(isPalListKind(activate(V)), activate(V))
isList(n__nil)ttisList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(V)U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isNePal(V)U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I)))and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P))))isPal(V)U71(isPalListKind(activate(V)), activate(V))
isPal(n__nil)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))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isPalListKind(X)n__isPalListKind(X)
and(X1, X2)n__and(X1, X2)an__a
en__ein__i
on__oun__u
activate(n__nil)nilactivate(n____(X1, X2))__(X1, X2)
activate(n__isPalListKind(X))isPalListKind(X)activate(n__and(X1, X2))and(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: isList, isNeList, __, activate, n__u, U62, U43, U61, n__o, U42, U41, isNePal, n__nil, U23, U21, U22, n__e, e, isPalListKind, n__a, a, o, isPal, n__i, i, and, U71, n__and, U72, u, U51, tt, U53, U52, U11, U12, U31, isQid, U32, n____, n__isPalListKind, nil

Strategy


Polynomial Interpretation

Standard Usable rules

isPalListKind(n__i)tt__(__(X, Y), Z)__(X, __(Y, Z))
__(X, nil)Xan__a
isPalListKind(n____(V1, V2))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))activate(n__nil)nil
isPalListKind(n__nil)ttisPalListKind(n__a)tt
isPalListKind(n__e)tt__(X1, X2)n____(X1, X2)
isPalListKind(X)n__isPalListKind(X)activate(n__a)a
en__eactivate(n__i)i
isPalListKind(n__o)ttand(X1, X2)n__and(X1, X2)
isPalListKind(n__u)ttactivate(n____(X1, X2))__(X1, X2)
and(tt, X)activate(X)activate(n__isPalListKind(X))isPalListKind(X)
activate(X)Xactivate(n__u)u
__(nil, X)Xin__i
un__uactivate(n__o)o
activate(n__and(X1, X2))and(X1, X2)niln__nil
on__oactivate(n__e)e

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

activate#(n__isPalListKind(X))isPalListKind#(X)

Problem 12: DependencyGraph



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)XU11(tt, V)U12(isNeList(activate(V)))
U12(tt)ttU21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
U22(tt, V2)U23(isList(activate(V2)))U23(tt)tt
U31(tt, V)U32(isQid(activate(V)))U32(tt)tt
U41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))U42(tt, V2)U43(isNeList(activate(V2)))
U43(tt)ttU51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U53(tt)tt
U61(tt, V)U62(isQid(activate(V)))U62(tt)tt
U71(tt, V)U72(isNePal(activate(V)))U72(tt)tt
and(tt, X)activate(X)isList(V)U11(isPalListKind(activate(V)), activate(V))
isList(n__nil)ttisList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(V)U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isNePal(V)U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I)))and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P))))isPal(V)U71(isPalListKind(activate(V)), activate(V))
isPal(n__nil)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))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isPalListKind(X)n__isPalListKind(X)
and(X1, X2)n__and(X1, X2)an__a
en__ein__i
on__oun__u
activate(n__nil)nilactivate(n____(X1, X2))__(X1, X2)
activate(n__isPalListKind(X))isPalListKind(X)activate(n__and(X1, X2))and(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: isList, isNeList, __, activate, U62, n__u, U61, U43, U42, n__o, U41, isNePal, n__nil, U23, U21, U22, n__e, e, isPalListKind, n__a, a, o, isPal, n__i, U71, and, i, U72, n__and, u, U51, tt, U53, U52, U11, U12, isQid, U31, U32, n____, nil, n__isPalListKind

Strategy


The following SCCs where found

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

Problem 14: 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(isNeList(activate(V)))
U12(tt)ttU21(tt, V1, V2)U22(isList(activate(V1)), activate(V2))
U22(tt, V2)U23(isList(activate(V2)))U23(tt)tt
U31(tt, V)U32(isQid(activate(V)))U32(tt)tt
U41(tt, V1, V2)U42(isList(activate(V1)), activate(V2))U42(tt, V2)U43(isNeList(activate(V2)))
U43(tt)ttU51(tt, V1, V2)U52(isNeList(activate(V1)), activate(V2))
U52(tt, V2)U53(isList(activate(V2)))U53(tt)tt
U61(tt, V)U62(isQid(activate(V)))U62(tt)tt
U71(tt, V)U72(isNePal(activate(V)))U72(tt)tt
and(tt, X)activate(X)isList(V)U11(isPalListKind(activate(V)), activate(V))
isList(n__nil)ttisList(n____(V1, V2))U21(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(V)U31(isPalListKind(activate(V)), activate(V))isNeList(n____(V1, V2))U41(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))
isNeList(n____(V1, V2))U51(and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2))), activate(V1), activate(V2))isNePal(V)U61(isPalListKind(activate(V)), activate(V))
isNePal(n____(I, __(P, I)))and(and(isQid(activate(I)), n__isPalListKind(activate(I))), n__and(isPal(activate(P)), n__isPalListKind(activate(P))))isPal(V)U71(isPalListKind(activate(V)), activate(V))
isPal(n__nil)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))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isPalListKind(X)n__isPalListKind(X)
and(X1, X2)n__and(X1, X2)an__a
en__ein__i
on__oun__u
activate(n__nil)nilactivate(n____(X1, X2))__(X1, X2)
activate(n__isPalListKind(X))isPalListKind(X)activate(n__and(X1, X2))and(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: isList, isNeList, __, activate, U62, n__u, U61, U43, U42, n__o, U41, isNePal, n__nil, U23, U21, U22, n__e, e, isPalListKind, n__a, a, o, isPal, n__i, U71, and, i, U72, n__and, u, U51, tt, U53, U52, U11, U12, isQid, U31, U32, n____, nil, n__isPalListKind

Strategy


Polynomial Interpretation

Standard Usable rules

isPalListKind(n__i)tt__(__(X, Y), Z)__(X, __(Y, Z))
__(X, nil)Xan__a
isPalListKind(n____(V1, V2))and(isPalListKind(activate(V1)), n__isPalListKind(activate(V2)))activate(n__nil)nil
isPalListKind(n__nil)ttisPalListKind(n__a)tt
isPalListKind(n__e)tt__(X1, X2)n____(X1, X2)
isPalListKind(X)n__isPalListKind(X)activate(n__a)a
en__eactivate(n__i)i
isPalListKind(n__o)ttand(X1, X2)n__and(X1, X2)
isPalListKind(n__u)ttactivate(n____(X1, X2))__(X1, X2)
and(tt, X)activate(X)activate(n__isPalListKind(X))isPalListKind(X)
activate(X)Xactivate(n__u)u
__(nil, X)Xin__i
un__uactivate(n__o)o
activate(n__and(X1, X2))and(X1, X2)niln__nil
on__oactivate(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))