YES

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (200ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4 (93ms).
 | – Problem 3 was processed with processor PolynomialLinearRange4 (319ms).
 |    | – Problem 4 was processed with processor DependencyGraph (29ms).
 |    |    | – Problem 5 was processed with processor PolynomialLinearRange4 (17ms).
 |    |    |    | – Problem 6 was processed with processor PolynomialLinearRange4 (34ms).
 |    |    |    |    | – Problem 7 was processed with processor PolynomialLinearRange4 (12ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

and#(tt, X)T(X)isNePal#(__(I, __(P, I)))isQid#(I)
__#(__(X, Y), Z)__#(X, __(Y, Z))isNeList#(__(V1, V2))isNeList#(V1)
isNeList#(__(V1, V2))and#(isNeList(V1), isList(V2))isList#(__(V1, V2))isList#(V1)
T(isList(x_1))T(x_1)__#(__(X, Y), Z)__#(Y, Z)
isNeList#(__(V1, V2))isList#(V1)T(isNeList(x_1))T(x_1)
T(isNeList(V2))isNeList#(V2)isList#(__(V1, V2))and#(isList(V1), isList(V2))
isList#(V)isNeList#(V)isNePal#(__(I, __(P, I)))and#(isQid(I), isPal(P))
T(isPal(P))isPal#(P)isNeList#(V)isQid#(V)
isPal#(V)isNePal#(V)T(isPal(x_1))T(x_1)
isNePal#(V)isQid#(V)T(isList(V2))isList#(V2)
isNeList#(__(V1, V2))and#(isList(V1), isNeList(V2))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)Xand(tt, X)X
isList(V)isNeList(V)isList(nil)tt
isList(__(V1, V2))and(isList(V1), isList(V2))isNeList(V)isQid(V)
isNeList(__(V1, V2))and(isList(V1), isNeList(V2))isNeList(__(V1, V2))and(isNeList(V1), isList(V2))
isNePal(V)isQid(V)isNePal(__(I, __(P, I)))and(isQid(I), isPal(P))
isPal(V)isNePal(V)isPal(nil)tt
isQid(a)ttisQid(e)tt
isQid(i)ttisQid(o)tt
isQid(u)tt

Original Signature

Termination of terms over the following signature is verified: isList, e, a, isNeList, __, o, isPal, and, i, u, tt, isNePal, isQid, nil

Strategy

Context-sensitive strategy:
μ(isList) = μ(e) = μ(isNePal#) = μ(a) = μ(isNeList) = μ(o) = μ(isPal#) = μ(isPal) = μ(i) = μ(isQid#) = μ(isList#) = μ(T) = μ(u) = μ(tt) = μ(isNePal) = μ(isQid) = μ(isNeList#) = μ(nil) = ∅
μ(and#) = μ(and) = {1}
μ(__) = μ(__#) = {1, 2}


The following SCCs where found

and#(tt, X) → T(X)isNeList#(__(V1, V2)) → isNeList#(V1)
isNeList#(__(V1, V2)) → and#(isNeList(V1), isList(V2))isList#(__(V1, V2)) → isList#(V1)
T(isList(x_1)) → T(x_1)isNeList#(__(V1, V2)) → isList#(V1)
T(isNeList(x_1)) → T(x_1)T(isNeList(V2)) → isNeList#(V2)
isList#(__(V1, V2)) → and#(isList(V1), isList(V2))isList#(V) → isNeList#(V)
isNePal#(__(I, __(P, I))) → and#(isQid(I), isPal(P))T(isPal(P)) → isPal#(P)
T(isPal(x_1)) → T(x_1)isPal#(V) → isNePal#(V)
T(isList(V2)) → isList#(V2)isNeList#(__(V1, V2)) → and#(isList(V1), isNeList(V2))

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

Problem 2: 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)Xand(tt, X)X
isList(V)isNeList(V)isList(nil)tt
isList(__(V1, V2))and(isList(V1), isList(V2))isNeList(V)isQid(V)
isNeList(__(V1, V2))and(isList(V1), isNeList(V2))isNeList(__(V1, V2))and(isNeList(V1), isList(V2))
isNePal(V)isQid(V)isNePal(__(I, __(P, I)))and(isQid(I), isPal(P))
isPal(V)isNePal(V)isPal(nil)tt
isQid(a)ttisQid(e)tt
isQid(i)ttisQid(o)tt
isQid(u)tt

Original Signature

Termination of terms over the following signature is verified: isList, e, a, isNeList, __, o, isPal, and, i, u, tt, isNePal, isQid, nil

Strategy

Context-sensitive strategy:
μ(isList) = μ(e) = μ(isNePal#) = μ(a) = μ(isNeList) = μ(o) = μ(isPal#) = μ(isPal) = μ(i) = μ(isList#) = μ(isQid#) = μ(T) = μ(u) = μ(tt) = μ(isNePal) = μ(isQid) = μ(isNeList#) = μ(nil) = ∅
μ(and#) = μ(and) = {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 3: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

and#(tt, X)T(X)isNeList#(__(V1, V2))isNeList#(V1)
isNeList#(__(V1, V2))and#(isNeList(V1), isList(V2))isList#(__(V1, V2))isList#(V1)
T(isList(x_1))T(x_1)isNeList#(__(V1, V2))isList#(V1)
T(isNeList(x_1))T(x_1)T(isNeList(V2))isNeList#(V2)
isList#(__(V1, V2))and#(isList(V1), isList(V2))isList#(V)isNeList#(V)
isNePal#(__(I, __(P, I)))and#(isQid(I), isPal(P))T(isPal(P))isPal#(P)
T(isPal(x_1))T(x_1)isPal#(V)isNePal#(V)
T(isList(V2))isList#(V2)isNeList#(__(V1, V2))and#(isList(V1), isNeList(V2))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)Xand(tt, X)X
isList(V)isNeList(V)isList(nil)tt
isList(__(V1, V2))and(isList(V1), isList(V2))isNeList(V)isQid(V)
isNeList(__(V1, V2))and(isList(V1), isNeList(V2))isNeList(__(V1, V2))and(isNeList(V1), isList(V2))
isNePal(V)isQid(V)isNePal(__(I, __(P, I)))and(isQid(I), isPal(P))
isPal(V)isNePal(V)isPal(nil)tt
isQid(a)ttisQid(e)tt
isQid(i)ttisQid(o)tt
isQid(u)tt

Original Signature

Termination of terms over the following signature is verified: isList, e, a, isNeList, __, o, isPal, and, i, u, tt, isNePal, isQid, nil

Strategy

Context-sensitive strategy:
μ(isList) = μ(e) = μ(isNePal#) = μ(a) = μ(isNeList) = μ(o) = μ(isPal#) = μ(isPal) = μ(i) = μ(isList#) = μ(isQid#) = μ(T) = μ(u) = μ(tt) = μ(isNePal) = μ(isQid) = μ(isNeList#) = μ(nil) = ∅
μ(and#) = μ(and) = {1}
μ(__) = μ(__#) = {1, 2}


Polynomial Interpretation

Standard Usable rules

isQid(i)tt__(__(X, Y), Z)__(X, __(Y, Z))
isQid(e)tt__(X, nil)X
isQid(u)ttisList(V)isNeList(V)
isNeList(V)isQid(V)isNePal(V)isQid(V)
isPal(nil)ttisList(nil)tt
isNePal(__(I, __(P, I)))and(isQid(I), isPal(P))isNeList(__(V1, V2))and(isList(V1), isNeList(V2))
isPal(V)isNePal(V)isQid(a)tt
and(tt, X)X__(nil, X)X
isNeList(__(V1, V2))and(isNeList(V1), isList(V2))isList(__(V1, V2))and(isList(V1), isList(V2))
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))and#(isNeList(V1), isList(V2))
isList#(__(V1, V2))isList#(V1)isNeList#(__(V1, V2))isList#(V1)
isList#(__(V1, V2))and#(isList(V1), isList(V2))isNePal#(__(I, __(P, I)))and#(isQid(I), isPal(P))
isNeList#(__(V1, V2))and#(isList(V1), isNeList(V2))

Problem 4: DependencyGraph



Dependency Pair Problem

Dependency Pairs

isList#(V)isNeList#(V)and#(tt, X)T(X)
T(isPal(P))isPal#(P)isPal#(V)isNePal#(V)
T(isPal(x_1))T(x_1)T(isList(x_1))T(x_1)
T(isList(V2))isList#(V2)T(isNeList(x_1))T(x_1)
T(isNeList(V2))isNeList#(V2)

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)Xand(tt, X)X
isList(V)isNeList(V)isList(nil)tt
isList(__(V1, V2))and(isList(V1), isList(V2))isNeList(V)isQid(V)
isNeList(__(V1, V2))and(isList(V1), isNeList(V2))isNeList(__(V1, V2))and(isNeList(V1), isList(V2))
isNePal(V)isQid(V)isNePal(__(I, __(P, I)))and(isQid(I), isPal(P))
isPal(V)isNePal(V)isPal(nil)tt
isQid(a)ttisQid(e)tt
isQid(i)ttisQid(o)tt
isQid(u)tt

Original Signature

Termination of terms over the following signature is verified: isList, e, a, isNeList, __, o, isPal, and, i, u, tt, isNePal, isQid, nil

Strategy

Context-sensitive strategy:
μ(isList) = μ(e) = μ(isNePal#) = μ(a) = μ(isNeList) = μ(o) = μ(isPal#) = μ(isPal) = μ(i) = μ(isQid#) = μ(isList#) = μ(T) = μ(u) = μ(tt) = μ(isNePal) = μ(isQid) = μ(isNeList#) = μ(nil) = ∅
μ(and#) = μ(and) = {1}
μ(__) = μ(__#) = {1, 2}


The following SCCs where found

T(isPal(x_1)) → T(x_1)T(isList(x_1)) → T(x_1)
T(isNeList(x_1)) → T(x_1)

Problem 5: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

T(isPal(x_1))T(x_1)T(isList(x_1))T(x_1)
T(isNeList(x_1))T(x_1)

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)Xand(tt, X)X
isList(V)isNeList(V)isList(nil)tt
isList(__(V1, V2))and(isList(V1), isList(V2))isNeList(V)isQid(V)
isNeList(__(V1, V2))and(isList(V1), isNeList(V2))isNeList(__(V1, V2))and(isNeList(V1), isList(V2))
isNePal(V)isQid(V)isNePal(__(I, __(P, I)))and(isQid(I), isPal(P))
isPal(V)isNePal(V)isPal(nil)tt
isQid(a)ttisQid(e)tt
isQid(i)ttisQid(o)tt
isQid(u)tt

Original Signature

Termination of terms over the following signature is verified: isList, e, a, isNeList, __, o, isPal, and, i, u, tt, isNePal, isQid, nil

Strategy

Context-sensitive strategy:
μ(isList) = μ(e) = μ(isNePal#) = μ(a) = μ(isNeList) = μ(o) = μ(isPal#) = μ(isPal) = μ(i) = μ(isList#) = μ(isQid#) = μ(T) = μ(u) = μ(tt) = μ(isNePal) = μ(isQid) = μ(isNeList#) = μ(nil) = ∅
μ(and#) = μ(and) = {1}
μ(__) = μ(__#) = {1, 2}


Polynomial Interpretation

There are no usable rules

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

T(isList(x_1))T(x_1)

Problem 6: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

T(isPal(x_1))T(x_1)T(isNeList(x_1))T(x_1)

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)Xand(tt, X)X
isList(V)isNeList(V)isList(nil)tt
isList(__(V1, V2))and(isList(V1), isList(V2))isNeList(V)isQid(V)
isNeList(__(V1, V2))and(isList(V1), isNeList(V2))isNeList(__(V1, V2))and(isNeList(V1), isList(V2))
isNePal(V)isQid(V)isNePal(__(I, __(P, I)))and(isQid(I), isPal(P))
isPal(V)isNePal(V)isPal(nil)tt
isQid(a)ttisQid(e)tt
isQid(i)ttisQid(o)tt
isQid(u)tt

Original Signature

Termination of terms over the following signature is verified: isList, e, a, isNeList, __, o, isPal, and, i, u, tt, isNePal, isQid, nil

Strategy

Context-sensitive strategy:
μ(isList) = μ(e) = μ(isNePal#) = μ(a) = μ(isNeList) = μ(o) = μ(isPal#) = μ(isPal) = μ(i) = μ(isQid#) = μ(isList#) = μ(T) = μ(u) = μ(tt) = μ(isNePal) = μ(isQid) = μ(isNeList#) = μ(nil) = ∅
μ(and#) = μ(and) = {1}
μ(__) = μ(__#) = {1, 2}


Polynomial Interpretation

There are no usable rules

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

T(isPal(x_1))T(x_1)

Problem 7: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

T(isNeList(x_1))T(x_1)

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)Xand(tt, X)X
isList(V)isNeList(V)isList(nil)tt
isList(__(V1, V2))and(isList(V1), isList(V2))isNeList(V)isQid(V)
isNeList(__(V1, V2))and(isList(V1), isNeList(V2))isNeList(__(V1, V2))and(isNeList(V1), isList(V2))
isNePal(V)isQid(V)isNePal(__(I, __(P, I)))and(isQid(I), isPal(P))
isPal(V)isNePal(V)isPal(nil)tt
isQid(a)ttisQid(e)tt
isQid(i)ttisQid(o)tt
isQid(u)tt

Original Signature

Termination of terms over the following signature is verified: isList, e, a, isNeList, __, o, isPal, and, i, u, tt, isNePal, isQid, nil

Strategy

Context-sensitive strategy:
μ(isList) = μ(e) = μ(isNePal#) = μ(a) = μ(isNeList) = μ(o) = μ(isPal#) = μ(isPal) = μ(i) = μ(isList#) = μ(isQid#) = μ(T) = μ(u) = μ(tt) = μ(isNePal) = μ(isQid) = μ(isNeList#) = μ(nil) = ∅
μ(and#) = μ(and) = {1}
μ(__) = μ(__#) = {1, 2}


Polynomial Interpretation

There are no usable rules

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

T(isNeList(x_1))T(x_1)