YES

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (602ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4 (191ms).
 |    | – Problem 5 was processed with processor DependencyGraph (8ms).
 |    |    | – Problem 7 was processed with processor PolynomialLinearRange4 (131ms).
 |    |    |    | – Problem 8 was processed with processor DependencyGraph (4ms).
 | – Problem 3 was processed with processor PolynomialLinearRange4 (71ms).
 |    | – Problem 6 was processed with processor DependencyGraph (0ms).
 | – Problem 4 was processed with processor SubtermCriterion (2ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

isPal#(V) → U81#(isNePal(activate(V)))isNeList#(n____(V1, V2)) → U41#(isList(activate(V1)), activate(V2))
isNeList#(n____(V1, V2)) → U51#(isNeList(activate(V1)), activate(V2))activate#(n__o) → o#
isList#(V) → U11#(isNeList(activate(V)))isNePal#(V) → isQid#(activate(V))
__#(__(X, Y), Z) → __#(Y, Z)isNePal#(V) → activate#(V)
isList#(n____(V1, V2)) → activate#(V1)U41#(tt, V2) → isNeList#(activate(V2))
isNeList#(n____(V1, V2)) → isList#(activate(V1))isList#(n____(V1, V2)) → U21#(isList(activate(V1)), activate(V2))
activate#(n__a) → a#isList#(n____(V1, V2)) → activate#(V2)
U41#(tt, V2) → activate#(V2)U21#(tt, V2) → activate#(V2)
isNeList#(V) → activate#(V)isNePal#(V) → U61#(isQid(activate(V)))
U21#(tt, V2) → isList#(activate(V2))U21#(tt, V2) → U22#(isList(activate(V2)))
isNeList#(n____(V1, V2)) → activate#(V1)isNePal#(n____(I, __(P, I))) → U71#(isQid(activate(I)), activate(P))
U71#(tt, P) → U72#(isPal(activate(P)))U51#(tt, V2) → activate#(V2)
U71#(tt, P) → isPal#(activate(P))__#(__(X, Y), Z) → __#(X, __(Y, Z))
isNeList#(V) → isQid#(activate(V))U71#(tt, P) → activate#(P)
U41#(tt, V2) → U42#(isNeList(activate(V2)))isNePal#(n____(I, __(P, I))) → activate#(P)
isPal#(V) → isNePal#(activate(V))activate#(n__u) → u#
activate#(n__nil) → nil#activate#(n____(X1, X2)) → __#(X1, X2)
isNePal#(n____(I, __(P, I))) → activate#(I)activate#(n__e) → e#
isNeList#(V) → U31#(isQid(activate(V)))U51#(tt, V2) → isList#(activate(V2))
isNePal#(n____(I, __(P, I))) → isQid#(activate(I))isNeList#(n____(V1, V2)) → activate#(V2)
activate#(n__i) → i#isList#(V) → activate#(V)
U51#(tt, V2) → U52#(isList(activate(V2)))isPal#(V) → activate#(V)
isNeList#(n____(V1, V2)) → isNeList#(activate(V1))isList#(n____(V1, V2)) → isList#(activate(V1))
isList#(V) → isNeList#(activate(V))

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))U22(tt) → tt
U31(tt) → ttU41(tt, V2) → U42(isNeList(activate(V2)))
U42(tt) → ttU51(tt, V2) → U52(isList(activate(V2)))
U52(tt) → ttU61(tt) → tt
U71(tt, P) → U72(isPal(activate(P)))U72(tt) → tt
U81(tt) → ttisList(V) → U11(isNeList(activate(V)))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isNeList(V) → U31(isQid(activate(V)))isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))isNePal(V) → U61(isQid(activate(V)))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(P))isPal(V) → U81(isNePal(activate(V)))
isPal(n__nil) → ttisQid(n__a) → tt
isQid(n__e) → ttisQid(n__i) → tt
isQid(n__o) → ttisQid(n__u) → tt
nil → n__nil__(X1, X2) → n____(X1, X2)
a → n__ae → n__e
i → n__io → n__o
u → n__uactivate(n__nil) → nil
activate(n____(X1, X2)) → __(X1, X2)activate(n__a) → a
activate(n__e) → eactivate(n__i) → i
activate(n__o) → oactivate(n__u) → u
activate(X) → X

Original Signature

Termination of terms over the following signature is verified: isList, isNeList, __, activate, n__u, U61, U42, n__o, U41, isNePal, n__nil, U21, U22, n__e, e, n__a, a, o, isPal, n__i, i, U71, U72, u, U51, tt, U81, U52, U11, isQid, U31, n____, nil

Strategy


The following SCCs where found

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

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

isList#(n____(V1, V2)) → U21#(isList(activate(V1)), activate(V2))isNeList#(n____(V1, V2)) → U41#(isList(activate(V1)), activate(V2))
isNeList#(n____(V1, V2)) → U51#(isNeList(activate(V1)), activate(V2))U21#(tt, V2) → isList#(activate(V2))
U51#(tt, V2) → isList#(activate(V2))isNeList#(n____(V1, V2)) → isNeList#(activate(V1))
U41#(tt, V2) → isNeList#(activate(V2))isNeList#(n____(V1, V2)) → isList#(activate(V1))
isList#(n____(V1, V2)) → isList#(activate(V1))isList#(V) → isNeList#(activate(V))

Problem 2: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isList#(n____(V1, V2)) → U21#(isList(activate(V1)), activate(V2))isNeList#(n____(V1, V2)) → U41#(isList(activate(V1)), activate(V2))
isNeList#(n____(V1, V2)) → U51#(isNeList(activate(V1)), activate(V2))U21#(tt, V2) → isList#(activate(V2))
U51#(tt, V2) → isList#(activate(V2))isNeList#(n____(V1, V2)) → isNeList#(activate(V1))
U41#(tt, V2) → isNeList#(activate(V2))isNeList#(n____(V1, V2)) → isList#(activate(V1))
isList#(n____(V1, V2)) → isList#(activate(V1))isList#(V) → isNeList#(activate(V))

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))U22(tt) → tt
U31(tt) → ttU41(tt, V2) → U42(isNeList(activate(V2)))
U42(tt) → ttU51(tt, V2) → U52(isList(activate(V2)))
U52(tt) → ttU61(tt) → tt
U71(tt, P) → U72(isPal(activate(P)))U72(tt) → tt
U81(tt) → ttisList(V) → U11(isNeList(activate(V)))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isNeList(V) → U31(isQid(activate(V)))isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))isNePal(V) → U61(isQid(activate(V)))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(P))isPal(V) → U81(isNePal(activate(V)))
isPal(n__nil) → ttisQid(n__a) → tt
isQid(n__e) → ttisQid(n__i) → tt
isQid(n__o) → ttisQid(n__u) → tt
nil → n__nil__(X1, X2) → n____(X1, X2)
a → n__ae → n__e
i → n__io → n__o
u → n__uactivate(n__nil) → nil
activate(n____(X1, X2)) → __(X1, X2)activate(n__a) → a
activate(n__e) → eactivate(n__i) → i
activate(n__o) → oactivate(n__u) → u
activate(X) → X

Original Signature

Termination of terms over the following signature is verified: isList, isNeList, __, activate, n__u, U61, U42, n__o, U41, isNePal, n__nil, U21, U22, n__e, e, n__a, a, o, isPal, n__i, i, U71, U72, u, U51, tt, U81, U52, U11, isQid, U31, n____, nil

Strategy


Polynomial Interpretation

Standard Usable rules

__(__(X, Y), Z) → __(X, __(Y, Z))U51(tt, V2) → U52(isList(activate(V2)))
__(X, nil) → Xa → n__a
U31(tt) → ttactivate(n__nil) → nil
isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))
isQid(n__u) → ttisList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isQid(n__e) → ttU41(tt, V2) → U42(isNeList(activate(V2)))
isList(V) → U11(isNeList(activate(V)))__(X1, X2) → n____(X1, X2)
U22(tt) → ttactivate(n__a) → a
U11(tt) → tte → n__e
activate(n__i) → iisList(n__nil) → tt
isQid(n__a) → ttisQid(n__i) → tt
activate(n____(X1, X2)) → __(X1, X2)U42(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))isNeList(V) → U31(isQid(activate(V)))
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) → ttU52(tt) → tt
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, V2) → isList#(activate(V2))

Problem 5: DependencyGraph



Dependency Pair Problem

Dependency Pairs

isList#(n____(V1, V2)) → U21#(isList(activate(V1)), activate(V2))isNeList#(n____(V1, V2)) → U41#(isList(activate(V1)), activate(V2))
isNeList#(n____(V1, V2)) → U51#(isNeList(activate(V1)), activate(V2))U51#(tt, V2) → isList#(activate(V2))
isNeList#(n____(V1, V2)) → isNeList#(activate(V1))isList#(V) → isNeList#(activate(V))
isList#(n____(V1, V2)) → isList#(activate(V1))isNeList#(n____(V1, V2)) → isList#(activate(V1))
U41#(tt, V2) → isNeList#(activate(V2))

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))U22(tt) → tt
U31(tt) → ttU41(tt, V2) → U42(isNeList(activate(V2)))
U42(tt) → ttU51(tt, V2) → U52(isList(activate(V2)))
U52(tt) → ttU61(tt) → tt
U71(tt, P) → U72(isPal(activate(P)))U72(tt) → tt
U81(tt) → ttisList(V) → U11(isNeList(activate(V)))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isNeList(V) → U31(isQid(activate(V)))isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))isNePal(V) → U61(isQid(activate(V)))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(P))isPal(V) → U81(isNePal(activate(V)))
isPal(n__nil) → ttisQid(n__a) → tt
isQid(n__e) → ttisQid(n__i) → tt
isQid(n__o) → ttisQid(n__u) → tt
nil → n__nil__(X1, X2) → n____(X1, X2)
a → n__ae → n__e
i → n__io → n__o
u → n__uactivate(n__nil) → nil
activate(n____(X1, X2)) → __(X1, X2)activate(n__a) → a
activate(n__e) → eactivate(n__i) → i
activate(n__o) → oactivate(n__u) → u
activate(X) → X

Original Signature

Termination of terms over the following signature is verified: isList, isNeList, __, activate, n__u, U61, n__o, U42, U41, isNePal, n__nil, U21, U22, n__e, e, n__a, a, o, isPal, n__i, i, U71, U72, u, U51, tt, U52, U81, U11, U31, isQid, n____, nil

Strategy


The following SCCs where found

isNeList#(n____(V1, V2)) → U41#(isList(activate(V1)), activate(V2))isNeList#(n____(V1, V2)) → U51#(isNeList(activate(V1)), activate(V2))
U51#(tt, V2) → isList#(activate(V2))isNeList#(n____(V1, V2)) → isNeList#(activate(V1))
U41#(tt, V2) → isNeList#(activate(V2))isNeList#(n____(V1, V2)) → isList#(activate(V1))
isList#(n____(V1, V2)) → isList#(activate(V1))isList#(V) → isNeList#(activate(V))

Problem 7: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isNeList#(n____(V1, V2)) → U41#(isList(activate(V1)), activate(V2))isNeList#(n____(V1, V2)) → U51#(isNeList(activate(V1)), activate(V2))
U51#(tt, V2) → isList#(activate(V2))isNeList#(n____(V1, V2)) → isNeList#(activate(V1))
U41#(tt, V2) → isNeList#(activate(V2))isNeList#(n____(V1, V2)) → isList#(activate(V1))
isList#(n____(V1, V2)) → isList#(activate(V1))isList#(V) → isNeList#(activate(V))

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))U22(tt) → tt
U31(tt) → ttU41(tt, V2) → U42(isNeList(activate(V2)))
U42(tt) → ttU51(tt, V2) → U52(isList(activate(V2)))
U52(tt) → ttU61(tt) → tt
U71(tt, P) → U72(isPal(activate(P)))U72(tt) → tt
U81(tt) → ttisList(V) → U11(isNeList(activate(V)))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isNeList(V) → U31(isQid(activate(V)))isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))isNePal(V) → U61(isQid(activate(V)))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(P))isPal(V) → U81(isNePal(activate(V)))
isPal(n__nil) → ttisQid(n__a) → tt
isQid(n__e) → ttisQid(n__i) → tt
isQid(n__o) → ttisQid(n__u) → tt
nil → n__nil__(X1, X2) → n____(X1, X2)
a → n__ae → n__e
i → n__io → n__o
u → n__uactivate(n__nil) → nil
activate(n____(X1, X2)) → __(X1, X2)activate(n__a) → a
activate(n__e) → eactivate(n__i) → i
activate(n__o) → oactivate(n__u) → u
activate(X) → X

Original Signature

Termination of terms over the following signature is verified: isList, isNeList, __, activate, n__u, U61, n__o, U42, U41, isNePal, n__nil, U21, U22, n__e, e, n__a, a, o, isPal, n__i, i, U71, U72, u, U51, tt, U52, U81, U11, U31, isQid, n____, nil

Strategy


Polynomial Interpretation

Standard Usable rules

__(__(X, Y), Z) → __(X, __(Y, Z))U51(tt, V2) → U52(isList(activate(V2)))
__(X, nil) → Xa → n__a
U31(tt) → ttactivate(n__nil) → nil
isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))
isQid(n__u) → ttisList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isQid(n__e) → ttU41(tt, V2) → U42(isNeList(activate(V2)))
isList(V) → U11(isNeList(activate(V)))__(X1, X2) → n____(X1, X2)
U22(tt) → ttactivate(n__a) → a
U11(tt) → tte → n__e
activate(n__i) → iisList(n__nil) → tt
isQid(n__a) → ttisQid(n__i) → tt
activate(n____(X1, X2)) → __(X1, X2)U42(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))isNeList(V) → U31(isQid(activate(V)))
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) → ttU52(tt) → tt
activate(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#(isList(activate(V1)), activate(V2))isNeList#(n____(V1, V2)) → U51#(isNeList(activate(V1)), activate(V2))
isNeList#(n____(V1, V2)) → isNeList#(activate(V1))isList#(n____(V1, V2)) → isList#(activate(V1))
isNeList#(n____(V1, V2)) → isList#(activate(V1))

Problem 8: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U51#(tt, V2) → isList#(activate(V2))isList#(V) → isNeList#(activate(V))
U41#(tt, V2) → isNeList#(activate(V2))

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))U22(tt) → tt
U31(tt) → ttU41(tt, V2) → U42(isNeList(activate(V2)))
U42(tt) → ttU51(tt, V2) → U52(isList(activate(V2)))
U52(tt) → ttU61(tt) → tt
U71(tt, P) → U72(isPal(activate(P)))U72(tt) → tt
U81(tt) → ttisList(V) → U11(isNeList(activate(V)))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isNeList(V) → U31(isQid(activate(V)))isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))isNePal(V) → U61(isQid(activate(V)))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(P))isPal(V) → U81(isNePal(activate(V)))
isPal(n__nil) → ttisQid(n__a) → tt
isQid(n__e) → ttisQid(n__i) → tt
isQid(n__o) → ttisQid(n__u) → tt
nil → n__nil__(X1, X2) → n____(X1, X2)
a → n__ae → n__e
i → n__io → n__o
u → n__uactivate(n__nil) → nil
activate(n____(X1, X2)) → __(X1, X2)activate(n__a) → a
activate(n__e) → eactivate(n__i) → i
activate(n__o) → oactivate(n__u) → u
activate(X) → X

Original Signature

Termination of terms over the following signature is verified: isList, isNeList, __, activate, n__u, U61, U42, n__o, U41, isNePal, n__nil, U21, U22, n__e, e, n__a, a, o, isPal, n__i, i, U71, U72, u, U51, tt, U81, U52, U11, isQid, U31, n____, nil

Strategy


There are no SCCs!

Problem 3: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))U22(tt) → tt
U31(tt) → ttU41(tt, V2) → U42(isNeList(activate(V2)))
U42(tt) → ttU51(tt, V2) → U52(isList(activate(V2)))
U52(tt) → ttU61(tt) → tt
U71(tt, P) → U72(isPal(activate(P)))U72(tt) → tt
U81(tt) → ttisList(V) → U11(isNeList(activate(V)))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isNeList(V) → U31(isQid(activate(V)))isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))isNePal(V) → U61(isQid(activate(V)))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(P))isPal(V) → U81(isNePal(activate(V)))
isPal(n__nil) → ttisQid(n__a) → tt
isQid(n__e) → ttisQid(n__i) → tt
isQid(n__o) → ttisQid(n__u) → tt
nil → n__nil__(X1, X2) → n____(X1, X2)
a → n__ae → n__e
i → n__io → n__o
u → n__uactivate(n__nil) → nil
activate(n____(X1, X2)) → __(X1, X2)activate(n__a) → a
activate(n__e) → eactivate(n__i) → i
activate(n__o) → oactivate(n__u) → u
activate(X) → X

Original Signature

Termination of terms over the following signature is verified: isList, isNeList, __, activate, n__u, U61, U42, n__o, U41, isNePal, n__nil, U21, U22, n__e, e, n__a, a, o, isPal, n__i, i, U71, U72, u, U51, tt, U81, U52, U11, isQid, U31, n____, nil

Strategy


Polynomial Interpretation

Standard Usable rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
e → n__eactivate(n__i) → i
a → n__aisQid(n__a) → tt
activate(n__nil) → nilisQid(n__i) → tt
activate(n____(X1, X2)) → __(X1, X2)isQid(n__u) → tt
activate(X) → Xactivate(n__u) → u
__(nil, X) → XisQid(n__e) → tt
i → n__iu → n__u
__(X1, X2) → n____(X1, X2)activate(n__o) → o
nil → n__nilo → n__o
isQid(n__o) → ttactivate(n__a) → a
activate(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))) → U71#(isQid(activate(I)), activate(P))

Problem 6: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U71#(tt, P) → isPal#(activate(P))isPal#(V) → isNePal#(activate(V))

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt) → tt
U21(tt, V2) → U22(isList(activate(V2)))U22(tt) → tt
U31(tt) → ttU41(tt, V2) → U42(isNeList(activate(V2)))
U42(tt) → ttU51(tt, V2) → U52(isList(activate(V2)))
U52(tt) → ttU61(tt) → tt
U71(tt, P) → U72(isPal(activate(P)))U72(tt) → tt
U81(tt) → ttisList(V) → U11(isNeList(activate(V)))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isNeList(V) → U31(isQid(activate(V)))isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))isNePal(V) → U61(isQid(activate(V)))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(P))isPal(V) → U81(isNePal(activate(V)))
isPal(n__nil) → ttisQid(n__a) → tt
isQid(n__e) → ttisQid(n__i) → tt
isQid(n__o) → ttisQid(n__u) → tt
nil → n__nil__(X1, X2) → n____(X1, X2)
a → n__ae → n__e
i → n__io → n__o
u → n__uactivate(n__nil) → nil
activate(n____(X1, X2)) → __(X1, X2)activate(n__a) → a
activate(n__e) → eactivate(n__i) → i
activate(n__o) → oactivate(n__u) → u
activate(X) → X

Original Signature

Termination of terms over the following signature is verified: isList, isNeList, __, activate, n__u, U61, n__o, U42, U41, isNePal, n__nil, U21, U22, n__e, e, n__a, a, o, isPal, n__i, i, U71, U72, u, U51, tt, U52, U81, U11, U31, isQid, n____, 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) → tt
U21(tt, V2) → U22(isList(activate(V2)))U22(tt) → tt
U31(tt) → ttU41(tt, V2) → U42(isNeList(activate(V2)))
U42(tt) → ttU51(tt, V2) → U52(isList(activate(V2)))
U52(tt) → ttU61(tt) → tt
U71(tt, P) → U72(isPal(activate(P)))U72(tt) → tt
U81(tt) → ttisList(V) → U11(isNeList(activate(V)))
isList(n__nil) → ttisList(n____(V1, V2)) → U21(isList(activate(V1)), activate(V2))
isNeList(V) → U31(isQid(activate(V)))isNeList(n____(V1, V2)) → U41(isList(activate(V1)), activate(V2))
isNeList(n____(V1, V2)) → U51(isNeList(activate(V1)), activate(V2))isNePal(V) → U61(isQid(activate(V)))
isNePal(n____(I, __(P, I))) → U71(isQid(activate(I)), activate(P))isPal(V) → U81(isNePal(activate(V)))
isPal(n__nil) → ttisQid(n__a) → tt
isQid(n__e) → ttisQid(n__i) → tt
isQid(n__o) → ttisQid(n__u) → tt
nil → n__nil__(X1, X2) → n____(X1, X2)
a → n__ae → n__e
i → n__io → n__o
u → n__uactivate(n__nil) → nil
activate(n____(X1, X2)) → __(X1, X2)activate(n__a) → a
activate(n__e) → eactivate(n__i) → i
activate(n__o) → oactivate(n__u) → u
activate(X) → X

Original Signature

Termination of terms over the following signature is verified: isList, isNeList, __, activate, n__u, U61, U42, n__o, U41, isNePal, n__nil, U21, U22, n__e, e, n__a, a, o, isPal, n__i, i, U71, U72, u, U51, tt, U81, U52, U11, isQid, U31, 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)