YES

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (188ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4 (271ms).
 |    | – Problem 5 was processed with processor DependencyGraph (15ms).
 |    |    | – Problem 7 was processed with processor PolynomialLinearRange4 (85ms).
 |    |    |    | – Problem 8 was processed with processor DependencyGraph (0ms).
 | – Problem 3 was processed with processor PolynomialLinearRange4 (94ms).
 | – Problem 4 was processed with processor PolynomialLinearRange4 (176ms).
 |    | – Problem 6 was processed with processor DependencyGraph (0ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

isNeList#(__(V1, V2)) → isNeList#(V1)U41#(tt, V2) → U42#(isNeList(V2))
__#(__(X, Y), Z) → __#(Y, Z)U71#(tt, P) → U72#(isPal(P))
isList#(V) → isNeList#(V)isNeList#(__(V1, V2)) → U41#(isList(V1), V2)
isList#(V) → U11#(isNeList(V))isNeList#(V) → isQid#(V)
U41#(tt, V2) → isNeList#(V2)isNePal#(V) → isQid#(V)
U51#(tt, V2) → isList#(V2)U21#(tt, V2) → U22#(isList(V2))
__#(__(X, Y), Z) → __#(X, __(Y, Z))isNePal#(__(I, __(P, I))) → isQid#(I)
isNeList#(__(V1, V2)) → U51#(isNeList(V1), V2)isList#(__(V1, V2)) → isList#(V1)
U21#(tt, V2) → isList#(V2)U51#(tt, V2) → U52#(isList(V2))
isNeList#(__(V1, V2)) → isList#(V1)isList#(__(V1, V2)) → U21#(isList(V1), V2)
isNeList#(V) → U31#(isQid(V))isNePal#(__(I, __(P, I))) → U71#(isQid(I), P)
isPal#(V) → U81#(isNePal(V))isPal#(V) → isNePal#(V)
U71#(tt, P) → isPal#(P)isNePal#(V) → U61#(isQid(V))

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt) → tt
U21(tt, V2) → U22(isList(V2))U22(tt) → tt
U31(tt) → ttU41(tt, V2) → U42(isNeList(V2))
U42(tt) → ttU51(tt, V2) → U52(isList(V2))
U52(tt) → ttU61(tt) → tt
U71(tt, P) → U72(isPal(P))U72(tt) → tt
U81(tt) → ttisList(V) → U11(isNeList(V))
isList(nil) → ttisList(__(V1, V2)) → U21(isList(V1), V2)
isNeList(V) → U31(isQid(V))isNeList(__(V1, V2)) → U41(isList(V1), V2)
isNeList(__(V1, V2)) → U51(isNeList(V1), V2)isNePal(V) → U61(isQid(V))
isNePal(__(I, __(P, I))) → U71(isQid(I), P)isPal(V) → U81(isNePal(V))
isPal(nil) → ttisQid(a) → tt
isQid(e) → ttisQid(i) → tt
isQid(o) → ttisQid(u) → tt

Original Signature

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

Strategy

Context-sensitive strategy:
μ(isList) = μ(isNePal#) = μ(isNeList) = μ(isQid#) = μ(T) = μ(isNePal) = μ(isNeList#) = μ(e) = μ(a) = μ(o) = μ(isPal#) = μ(isPal) = μ(i) = μ(isList#) = μ(u) = μ(tt) = μ(isQid) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U21#) = μ(U81#) = μ(U52#) = μ(U41#) = μ(U61) = μ(U42) = μ(U41) = μ(U72#) = μ(U21) = μ(U22) = μ(U22#) = μ(U61#) = μ(U51#) = μ(U71) = μ(U42#) = μ(U72) = μ(U71#) = μ(U51) = μ(U52) = μ(U81) = μ(U11) = μ(U31) = {1}
μ(__) = μ(__#) = {1, 2}


The following SCCs where found

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

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

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

Problem 2: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt) → tt
U21(tt, V2) → U22(isList(V2))U22(tt) → tt
U31(tt) → ttU41(tt, V2) → U42(isNeList(V2))
U42(tt) → ttU51(tt, V2) → U52(isList(V2))
U52(tt) → ttU61(tt) → tt
U71(tt, P) → U72(isPal(P))U72(tt) → tt
U81(tt) → ttisList(V) → U11(isNeList(V))
isList(nil) → ttisList(__(V1, V2)) → U21(isList(V1), V2)
isNeList(V) → U31(isQid(V))isNeList(__(V1, V2)) → U41(isList(V1), V2)
isNeList(__(V1, V2)) → U51(isNeList(V1), V2)isNePal(V) → U61(isQid(V))
isNePal(__(I, __(P, I))) → U71(isQid(I), P)isPal(V) → U81(isNePal(V))
isPal(nil) → ttisQid(a) → tt
isQid(e) → ttisQid(i) → tt
isQid(o) → ttisQid(u) → tt

Original Signature

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

Strategy

Context-sensitive strategy:
μ(isList) = μ(isNePal#) = μ(isNeList) = μ(isQid#) = μ(T) = μ(isNePal) = μ(isNeList#) = μ(e) = μ(a) = μ(o) = μ(isPal#) = μ(isPal) = μ(i) = μ(isList#) = μ(u) = μ(tt) = μ(isQid) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U21#) = μ(U81#) = μ(U52#) = μ(U41#) = μ(U61) = μ(U42) = μ(U41) = μ(U72#) = μ(U21) = μ(U22) = μ(U22#) = μ(U61#) = μ(U51#) = μ(U71) = μ(U72) = μ(U42#) = μ(U71#) = μ(U51) = μ(U81) = μ(U52) = μ(U11) = μ(U31) = {1}
μ(__) = μ(__#) = {1, 2}


Polynomial Interpretation

Standard Usable rules

U11(tt) → ttisQid(i) → tt
isQid(e) → ttisNeList(__(V1, V2)) → U41(isList(V1), V2)
isQid(u) → ttU41(tt, V2) → U42(isNeList(V2))
U31(tt) → ttU51(tt, V2) → U52(isList(V2))
isNeList(V) → U31(isQid(V))U21(tt, V2) → U22(isList(V2))
isList(nil) → ttU42(tt) → tt
isNeList(__(V1, V2)) → U51(isNeList(V1), V2)isQid(a) → tt
isList(__(V1, V2)) → U21(isList(V1), V2)U22(tt) → tt
U52(tt) → ttisList(V) → U11(isNeList(V))
isQid(o) → tt

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

U21#(tt, V2) → isList#(V2)

Problem 5: DependencyGraph



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt) → tt
U21(tt, V2) → U22(isList(V2))U22(tt) → tt
U31(tt) → ttU41(tt, V2) → U42(isNeList(V2))
U42(tt) → ttU51(tt, V2) → U52(isList(V2))
U52(tt) → ttU61(tt) → tt
U71(tt, P) → U72(isPal(P))U72(tt) → tt
U81(tt) → ttisList(V) → U11(isNeList(V))
isList(nil) → ttisList(__(V1, V2)) → U21(isList(V1), V2)
isNeList(V) → U31(isQid(V))isNeList(__(V1, V2)) → U41(isList(V1), V2)
isNeList(__(V1, V2)) → U51(isNeList(V1), V2)isNePal(V) → U61(isQid(V))
isNePal(__(I, __(P, I))) → U71(isQid(I), P)isPal(V) → U81(isNePal(V))
isPal(nil) → ttisQid(a) → tt
isQid(e) → ttisQid(i) → tt
isQid(o) → ttisQid(u) → tt

Original Signature

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

Strategy

Context-sensitive strategy:
μ(isList) = μ(isNePal#) = μ(isNeList) = μ(isQid#) = μ(T) = μ(isNePal) = μ(isNeList#) = μ(e) = μ(a) = μ(o) = μ(isPal#) = μ(isPal) = μ(i) = μ(isList#) = μ(u) = μ(tt) = μ(isQid) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U21#) = μ(U81#) = μ(U52#) = μ(U41#) = μ(U61) = μ(U42) = μ(U41) = μ(U72#) = μ(U21) = μ(U22) = μ(U22#) = μ(U61#) = μ(U51#) = μ(U71) = μ(U42#) = μ(U72) = μ(U71#) = μ(U51) = μ(U52) = μ(U81) = μ(U11) = μ(U31) = {1}
μ(__) = μ(__#) = {1, 2}


The following SCCs where found

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

Problem 7: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt) → tt
U21(tt, V2) → U22(isList(V2))U22(tt) → tt
U31(tt) → ttU41(tt, V2) → U42(isNeList(V2))
U42(tt) → ttU51(tt, V2) → U52(isList(V2))
U52(tt) → ttU61(tt) → tt
U71(tt, P) → U72(isPal(P))U72(tt) → tt
U81(tt) → ttisList(V) → U11(isNeList(V))
isList(nil) → ttisList(__(V1, V2)) → U21(isList(V1), V2)
isNeList(V) → U31(isQid(V))isNeList(__(V1, V2)) → U41(isList(V1), V2)
isNeList(__(V1, V2)) → U51(isNeList(V1), V2)isNePal(V) → U61(isQid(V))
isNePal(__(I, __(P, I))) → U71(isQid(I), P)isPal(V) → U81(isNePal(V))
isPal(nil) → ttisQid(a) → tt
isQid(e) → ttisQid(i) → tt
isQid(o) → ttisQid(u) → tt

Original Signature

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

Strategy

Context-sensitive strategy:
μ(isList) = μ(isNePal#) = μ(isNeList) = μ(isQid#) = μ(T) = μ(isNePal) = μ(isNeList#) = μ(e) = μ(a) = μ(o) = μ(isPal#) = μ(isPal) = μ(i) = μ(isList#) = μ(u) = μ(tt) = μ(isQid) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U21#) = μ(U81#) = μ(U52#) = μ(U41#) = μ(U61) = μ(U42) = μ(U41) = μ(U72#) = μ(U21) = μ(U22) = μ(U22#) = μ(U61#) = μ(U51#) = μ(U71) = μ(U72) = μ(U42#) = μ(U71#) = μ(U51) = μ(U81) = μ(U52) = μ(U11) = μ(U31) = {1}
μ(__) = μ(__#) = {1, 2}


Polynomial Interpretation

Standard Usable rules

U11(tt) → ttisQid(i) → tt
isQid(e) → ttisNeList(__(V1, V2)) → U41(isList(V1), V2)
isQid(u) → ttU41(tt, V2) → U42(isNeList(V2))
U31(tt) → ttU51(tt, V2) → U52(isList(V2))
isNeList(V) → U31(isQid(V))U21(tt, V2) → U22(isList(V2))
isList(nil) → ttU42(tt) → tt
isNeList(__(V1, V2)) → U51(isNeList(V1), V2)isQid(a) → tt
isList(__(V1, V2)) → U21(isList(V1), V2)U22(tt) → tt
U52(tt) → ttisList(V) → U11(isNeList(V))
isQid(o) → tt

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

isNeList#(__(V1, V2)) → isNeList#(V1)isNeList#(__(V1, V2)) → U41#(isList(V1), V2)
isList#(__(V1, V2)) → isList#(V1)U41#(tt, V2) → isNeList#(V2)
isNeList#(__(V1, V2)) → isList#(V1)U51#(tt, V2) → isList#(V2)

Problem 8: DependencyGraph



Dependency Pair Problem

Dependency Pairs

isList#(V) → isNeList#(V)isNeList#(__(V1, V2)) → U51#(isNeList(V1), V2)

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt) → tt
U21(tt, V2) → U22(isList(V2))U22(tt) → tt
U31(tt) → ttU41(tt, V2) → U42(isNeList(V2))
U42(tt) → ttU51(tt, V2) → U52(isList(V2))
U52(tt) → ttU61(tt) → tt
U71(tt, P) → U72(isPal(P))U72(tt) → tt
U81(tt) → ttisList(V) → U11(isNeList(V))
isList(nil) → ttisList(__(V1, V2)) → U21(isList(V1), V2)
isNeList(V) → U31(isQid(V))isNeList(__(V1, V2)) → U41(isList(V1), V2)
isNeList(__(V1, V2)) → U51(isNeList(V1), V2)isNePal(V) → U61(isQid(V))
isNePal(__(I, __(P, I))) → U71(isQid(I), P)isPal(V) → U81(isNePal(V))
isPal(nil) → ttisQid(a) → tt
isQid(e) → ttisQid(i) → tt
isQid(o) → ttisQid(u) → tt

Original Signature

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

Strategy

Context-sensitive strategy:
μ(isList) = μ(isNePal#) = μ(isNeList) = μ(isQid#) = μ(T) = μ(isNePal) = μ(isNeList#) = μ(e) = μ(a) = μ(o) = μ(isPal#) = μ(isPal) = μ(i) = μ(isList#) = μ(u) = μ(tt) = μ(isQid) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U21#) = μ(U81#) = μ(U52#) = μ(U41#) = μ(U61) = μ(U42) = μ(U41) = μ(U72#) = μ(U21) = μ(U22) = μ(U22#) = μ(U61#) = μ(U51#) = μ(U71) = μ(U42#) = μ(U72) = μ(U71#) = μ(U51) = μ(U52) = μ(U81) = μ(U11) = μ(U31) = {1}
μ(__) = μ(__#) = {1, 2}


There are no SCCs!

Problem 3: PolynomialLinearRange4



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(V2))U22(tt) → tt
U31(tt) → ttU41(tt, V2) → U42(isNeList(V2))
U42(tt) → ttU51(tt, V2) → U52(isList(V2))
U52(tt) → ttU61(tt) → tt
U71(tt, P) → U72(isPal(P))U72(tt) → tt
U81(tt) → ttisList(V) → U11(isNeList(V))
isList(nil) → ttisList(__(V1, V2)) → U21(isList(V1), V2)
isNeList(V) → U31(isQid(V))isNeList(__(V1, V2)) → U41(isList(V1), V2)
isNeList(__(V1, V2)) → U51(isNeList(V1), V2)isNePal(V) → U61(isQid(V))
isNePal(__(I, __(P, I))) → U71(isQid(I), P)isPal(V) → U81(isNePal(V))
isPal(nil) → ttisQid(a) → tt
isQid(e) → ttisQid(i) → tt
isQid(o) → ttisQid(u) → tt

Original Signature

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

Strategy

Context-sensitive strategy:
μ(isList) = μ(isNePal#) = μ(isNeList) = μ(isQid#) = μ(T) = μ(isNePal) = μ(isNeList#) = μ(e) = μ(a) = μ(o) = μ(isPal#) = μ(isPal) = μ(i) = μ(isList#) = μ(u) = μ(tt) = μ(isQid) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U21#) = μ(U81#) = μ(U52#) = μ(U41#) = μ(U61) = μ(U42) = μ(U41) = μ(U72#) = μ(U21) = μ(U22) = μ(U22#) = μ(U61#) = μ(U51#) = μ(U71) = μ(U72) = μ(U42#) = μ(U71#) = μ(U51) = μ(U81) = μ(U52) = μ(U11) = μ(U31) = {1}
μ(__) = μ(__#) = {1, 2}


Polynomial Interpretation

Standard Usable rules

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

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

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

Problem 4: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt) → tt
U21(tt, V2) → U22(isList(V2))U22(tt) → tt
U31(tt) → ttU41(tt, V2) → U42(isNeList(V2))
U42(tt) → ttU51(tt, V2) → U52(isList(V2))
U52(tt) → ttU61(tt) → tt
U71(tt, P) → U72(isPal(P))U72(tt) → tt
U81(tt) → ttisList(V) → U11(isNeList(V))
isList(nil) → ttisList(__(V1, V2)) → U21(isList(V1), V2)
isNeList(V) → U31(isQid(V))isNeList(__(V1, V2)) → U41(isList(V1), V2)
isNeList(__(V1, V2)) → U51(isNeList(V1), V2)isNePal(V) → U61(isQid(V))
isNePal(__(I, __(P, I))) → U71(isQid(I), P)isPal(V) → U81(isNePal(V))
isPal(nil) → ttisQid(a) → tt
isQid(e) → ttisQid(i) → tt
isQid(o) → ttisQid(u) → tt

Original Signature

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

Strategy

Context-sensitive strategy:
μ(isList) = μ(isNePal#) = μ(isNeList) = μ(isQid#) = μ(T) = μ(isNePal) = μ(isNeList#) = μ(e) = μ(a) = μ(o) = μ(isPal#) = μ(isPal) = μ(i) = μ(isList#) = μ(u) = μ(tt) = μ(isQid) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U21#) = μ(U81#) = μ(U52#) = μ(U41#) = μ(U61) = μ(U42) = μ(U41) = μ(U72#) = μ(U21) = μ(U22) = μ(U22#) = μ(U61#) = μ(U51#) = μ(U71) = μ(U72) = μ(U42#) = μ(U71#) = μ(U51) = μ(U81) = μ(U52) = μ(U11) = μ(U31) = {1}
μ(__) = μ(__#) = {1, 2}


Polynomial Interpretation

Standard Usable rules

isQid(i) → ttisQid(e) → tt
isQid(u) → ttisQid(a) → tt
isQid(o) → tt

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

U71#(tt, P) → isPal#(P)

Problem 6: DependencyGraph



Dependency Pair Problem

Dependency Pairs

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

Rewrite Rules

__(__(X, Y), Z) → __(X, __(Y, Z))__(X, nil) → X
__(nil, X) → XU11(tt) → tt
U21(tt, V2) → U22(isList(V2))U22(tt) → tt
U31(tt) → ttU41(tt, V2) → U42(isNeList(V2))
U42(tt) → ttU51(tt, V2) → U52(isList(V2))
U52(tt) → ttU61(tt) → tt
U71(tt, P) → U72(isPal(P))U72(tt) → tt
U81(tt) → ttisList(V) → U11(isNeList(V))
isList(nil) → ttisList(__(V1, V2)) → U21(isList(V1), V2)
isNeList(V) → U31(isQid(V))isNeList(__(V1, V2)) → U41(isList(V1), V2)
isNeList(__(V1, V2)) → U51(isNeList(V1), V2)isNePal(V) → U61(isQid(V))
isNePal(__(I, __(P, I))) → U71(isQid(I), P)isPal(V) → U81(isNePal(V))
isPal(nil) → ttisQid(a) → tt
isQid(e) → ttisQid(i) → tt
isQid(o) → ttisQid(u) → tt

Original Signature

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

Strategy

Context-sensitive strategy:
μ(isList) = μ(isNePal#) = μ(isNeList) = μ(isQid#) = μ(T) = μ(isNePal) = μ(isNeList#) = μ(e) = μ(a) = μ(o) = μ(isPal#) = μ(isPal) = μ(i) = μ(isList#) = μ(u) = μ(tt) = μ(isQid) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U21#) = μ(U81#) = μ(U52#) = μ(U41#) = μ(U61) = μ(U42) = μ(U41) = μ(U72#) = μ(U21) = μ(U22) = μ(U22#) = μ(U61#) = μ(U51#) = μ(U71) = μ(U42#) = μ(U72) = μ(U71#) = μ(U51) = μ(U52) = μ(U81) = μ(U11) = μ(U31) = {1}
μ(__) = μ(__#) = {1, 2}


There are no SCCs!