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) | → | X |  | U11(tt) | → | tt | 
| U21(tt, V2) | → | U22(isList(V2)) |  | U22(tt) | → | tt | 
| U31(tt) | → | tt |  | U41(tt, V2) | → | U42(isNeList(V2)) | 
| U42(tt) | → | tt |  | U51(tt, V2) | → | U52(isList(V2)) | 
| U52(tt) | → | tt |  | U61(tt) | → | tt | 
| U71(tt, P) | → | U72(isPal(P)) |  | U72(tt) | → | tt | 
| U81(tt) | → | tt |  | isList(V) | → | U11(isNeList(V)) | 
| isList(nil) | → | tt |  | isList(__(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) | → | tt |  | isQid(a) | → | tt | 
| isQid(e) | → | tt |  | isQid(i) | → | tt | 
| isQid(o) | → | tt |  | isQid(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) | → | X |  | U11(tt) | → | tt | 
| U21(tt, V2) | → | U22(isList(V2)) |  | U22(tt) | → | tt | 
| U31(tt) | → | tt |  | U41(tt, V2) | → | U42(isNeList(V2)) | 
| U42(tt) | → | tt |  | U51(tt, V2) | → | U52(isList(V2)) | 
| U52(tt) | → | tt |  | U61(tt) | → | tt | 
| U71(tt, P) | → | U72(isPal(P)) |  | U72(tt) | → | tt | 
| U81(tt) | → | tt |  | isList(V) | → | U11(isNeList(V)) | 
| isList(nil) | → | tt |  | isList(__(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) | → | tt |  | isQid(a) | → | tt | 
| isQid(e) | → | tt |  | isQid(i) | → | tt | 
| isQid(o) | → | tt |  | isQid(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
- U11(x): 2x
- U21(x,y): x
- U21#(x,y): 2y + x
- U22(x): 1
- U31(x): x
- U41(x,y): 2y
- U41#(x,y): 3y
- U42(x): x
- U51(x,y): y + x
- U51#(x,y): 3y
- U52(x): 1
- U61(x): 0
- U71(x,y): 0
- U72(x): 0
- U81(x): 0
- __(x,y): 2y + x
- a: 1
- e: 2
- i: 1
- isList(x): 2x
- isList#(x): 2x
- isNeList(x): x
- isNeList#(x): 2x
- isNePal(x): 0
- isPal(x): 0
- isQid(x): x
- nil: 1
- o: 2
- tt: 1
- u: 2
Standard Usable rules
| U11(tt) | → | tt |  | isQid(i) | → | tt | 
| isQid(e) | → | tt |  | isNeList(__(V1, V2)) | → | U41(isList(V1), V2) | 
| isQid(u) | → | tt |  | U41(tt, V2) | → | U42(isNeList(V2)) | 
| U31(tt) | → | tt |  | U51(tt, V2) | → | U52(isList(V2)) | 
| isNeList(V) | → | U31(isQid(V)) |  | U21(tt, V2) | → | U22(isList(V2)) | 
| isList(nil) | → | tt |  | U42(tt) | → | tt | 
| isNeList(__(V1, V2)) | → | U51(isNeList(V1), V2) |  | isQid(a) | → | tt | 
| isList(__(V1, V2)) | → | U21(isList(V1), V2) |  | U22(tt) | → | tt | 
| U52(tt) | → | tt |  | isList(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) | → | X |  | U11(tt) | → | tt | 
| U21(tt, V2) | → | U22(isList(V2)) |  | U22(tt) | → | tt | 
| U31(tt) | → | tt |  | U41(tt, V2) | → | U42(isNeList(V2)) | 
| U42(tt) | → | tt |  | U51(tt, V2) | → | U52(isList(V2)) | 
| U52(tt) | → | tt |  | U61(tt) | → | tt | 
| U71(tt, P) | → | U72(isPal(P)) |  | U72(tt) | → | tt | 
| U81(tt) | → | tt |  | isList(V) | → | U11(isNeList(V)) | 
| isList(nil) | → | tt |  | isList(__(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) | → | tt |  | isQid(a) | → | tt | 
| isQid(e) | → | tt |  | isQid(i) | → | tt | 
| isQid(o) | → | tt |  | isQid(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) | → | X |  | U11(tt) | → | tt | 
| U21(tt, V2) | → | U22(isList(V2)) |  | U22(tt) | → | tt | 
| U31(tt) | → | tt |  | U41(tt, V2) | → | U42(isNeList(V2)) | 
| U42(tt) | → | tt |  | U51(tt, V2) | → | U52(isList(V2)) | 
| U52(tt) | → | tt |  | U61(tt) | → | tt | 
| U71(tt, P) | → | U72(isPal(P)) |  | U72(tt) | → | tt | 
| U81(tt) | → | tt |  | isList(V) | → | U11(isNeList(V)) | 
| isList(nil) | → | tt |  | isList(__(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) | → | tt |  | isQid(a) | → | tt | 
| isQid(e) | → | tt |  | isQid(i) | → | tt | 
| isQid(o) | → | tt |  | isQid(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
- U11(x): 0
- U21(x,y): 0
- U22(x): 0
- U31(x): 0
- U41(x,y): 1
- U41#(x,y): y + 1
- U42(x): 1
- U51(x,y): 1
- U51#(x,y): y + x + 1
- U52(x): 1
- U61(x): 0
- U71(x,y): 0
- U72(x): 0
- U81(x): 0
- __(x,y): 2y + x + 2
- a: 3
- e: 3
- i: 0
- isList(x): 0
- isList#(x): x
- isNeList(x): 1
- isNeList#(x): x
- isNePal(x): 0
- isPal(x): 0
- isQid(x): 0
- nil: 0
- o: 3
- tt: 0
- u: 3
Standard Usable rules
| U11(tt) | → | tt |  | isQid(i) | → | tt | 
| isQid(e) | → | tt |  | isNeList(__(V1, V2)) | → | U41(isList(V1), V2) | 
| isQid(u) | → | tt |  | U41(tt, V2) | → | U42(isNeList(V2)) | 
| U31(tt) | → | tt |  | U51(tt, V2) | → | U52(isList(V2)) | 
| isNeList(V) | → | U31(isQid(V)) |  | U21(tt, V2) | → | U22(isList(V2)) | 
| isList(nil) | → | tt |  | U42(tt) | → | tt | 
| isNeList(__(V1, V2)) | → | U51(isNeList(V1), V2) |  | isQid(a) | → | tt | 
| isList(__(V1, V2)) | → | U21(isList(V1), V2) |  | U22(tt) | → | tt | 
| U52(tt) | → | tt |  | isList(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) | → | X |  | U11(tt) | → | tt | 
| U21(tt, V2) | → | U22(isList(V2)) |  | U22(tt) | → | tt | 
| U31(tt) | → | tt |  | U41(tt, V2) | → | U42(isNeList(V2)) | 
| U42(tt) | → | tt |  | U51(tt, V2) | → | U52(isList(V2)) | 
| U52(tt) | → | tt |  | U61(tt) | → | tt | 
| U71(tt, P) | → | U72(isPal(P)) |  | U72(tt) | → | tt | 
| U81(tt) | → | tt |  | isList(V) | → | U11(isNeList(V)) | 
| isList(nil) | → | tt |  | isList(__(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) | → | tt |  | isQid(a) | → | tt | 
| isQid(e) | → | tt |  | isQid(i) | → | tt | 
| isQid(o) | → | tt |  | isQid(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) | → | X |  | U11(tt) | → | tt | 
| U21(tt, V2) | → | U22(isList(V2)) |  | U22(tt) | → | tt | 
| U31(tt) | → | tt |  | U41(tt, V2) | → | U42(isNeList(V2)) | 
| U42(tt) | → | tt |  | U51(tt, V2) | → | U52(isList(V2)) | 
| U52(tt) | → | tt |  | U61(tt) | → | tt | 
| U71(tt, P) | → | U72(isPal(P)) |  | U72(tt) | → | tt | 
| U81(tt) | → | tt |  | isList(V) | → | U11(isNeList(V)) | 
| isList(nil) | → | tt |  | isList(__(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) | → | tt |  | isQid(a) | → | tt | 
| isQid(e) | → | tt |  | isQid(i) | → | tt | 
| isQid(o) | → | tt |  | isQid(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
- U11(x): 0
- U21(x,y): 0
- U22(x): 0
- U31(x): 0
- U41(x,y): 0
- U42(x): 0
- U51(x,y): 0
- U52(x): 0
- U61(x): 0
- U71(x,y): 0
- U72(x): 0
- U81(x): 0
- __(x,y): y + x + 1
- __#(x,y): 3x
- a: 0
- e: 0
- i: 0
- isList(x): 0
- isNeList(x): 0
- isNePal(x): 0
- isPal(x): 0
- isQid(x): 0
- nil: 2
- o: 0
- tt: 0
- u: 0
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) | → | X |  | U11(tt) | → | tt | 
| U21(tt, V2) | → | U22(isList(V2)) |  | U22(tt) | → | tt | 
| U31(tt) | → | tt |  | U41(tt, V2) | → | U42(isNeList(V2)) | 
| U42(tt) | → | tt |  | U51(tt, V2) | → | U52(isList(V2)) | 
| U52(tt) | → | tt |  | U61(tt) | → | tt | 
| U71(tt, P) | → | U72(isPal(P)) |  | U72(tt) | → | tt | 
| U81(tt) | → | tt |  | isList(V) | → | U11(isNeList(V)) | 
| isList(nil) | → | tt |  | isList(__(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) | → | tt |  | isQid(a) | → | tt | 
| isQid(e) | → | tt |  | isQid(i) | → | tt | 
| isQid(o) | → | tt |  | isQid(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
- U11(x): 0
- U21(x,y): 0
- U22(x): 0
- U31(x): 0
- U41(x,y): 0
- U42(x): 0
- U51(x,y): 0
- U52(x): 0
- U61(x): 0
- U71(x,y): 0
- U71#(x,y): 3y + x
- U72(x): 0
- U81(x): 0
- __(x,y): 2y + x
- a: 1
- e: 1
- i: 2
- isList(x): 0
- isNeList(x): 0
- isNePal(x): 0
- isNePal#(x): 2x
- isPal(x): 0
- isPal#(x): 3x
- isQid(x): x
- nil: 0
- o: 1
- tt: 1
- u: 1
Standard Usable rules
| isQid(i) | → | tt |  | isQid(e) | → | tt | 
| isQid(u) | → | tt |  | isQid(a) | → | tt | 
| isQid(o) | → | tt | 
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
 
 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) | → | X |  | U11(tt) | → | tt | 
| U21(tt, V2) | → | U22(isList(V2)) |  | U22(tt) | → | tt | 
| U31(tt) | → | tt |  | U41(tt, V2) | → | U42(isNeList(V2)) | 
| U42(tt) | → | tt |  | U51(tt, V2) | → | U52(isList(V2)) | 
| U52(tt) | → | tt |  | U61(tt) | → | tt | 
| U71(tt, P) | → | U72(isPal(P)) |  | U72(tt) | → | tt | 
| U81(tt) | → | tt |  | isList(V) | → | U11(isNeList(V)) | 
| isList(nil) | → | tt |  | isList(__(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) | → | tt |  | isQid(a) | → | tt | 
| isQid(e) | → | tt |  | isQid(i) | → | tt | 
| isQid(o) | → | tt |  | isQid(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!