YES

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (543ms).
 | – Problem 2 was processed with processor SubtermCriterion (1ms).
 | – Problem 3 was processed with processor PolynomialLinearRange4 (300ms).
 |    | – Problem 4 was processed with processor PolynomialLinearRange4 (255ms).
 |    |    | – Problem 5 was processed with processor PolynomialLinearRange4 (338ms).
 |    |    |    | – Problem 6 was processed with processor DependencyGraph (28ms).
 |    |    |    |    | – Problem 7 was processed with processor PolynomialLinearRange4 (100ms).
 |    |    |    |    |    | – Problem 8 was processed with processor DependencyGraph (1ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

and#(tt, X)activate#(X)isNeList#(n____(V1, V2))and#(isNeList(activate(V1)), n__isList(activate(V2)))
activate#(n__o)o#isNeList#(n____(V1, V2))and#(isList(activate(V1)), n__isNeList(activate(V2)))
isList#(n____(V1, V2))and#(isList(activate(V1)), n__isList(activate(V2)))isNePal#(V)isQid#(activate(V))
isNePal#(V)activate#(V)__#(__(X, Y), Z)__#(Y, Z)
isList#(n____(V1, V2))activate#(V1)isNeList#(n____(V1, V2))isList#(activate(V1))
activate#(n__a)a#isList#(n____(V1, V2))activate#(V2)
isNeList#(V)activate#(V)isNeList#(n____(V1, V2))activate#(V1)
isNePal#(n____(I, __(P, I)))and#(isQid(activate(I)), n__isPal(activate(P)))__#(__(X, Y), Z)__#(X, __(Y, Z))
activate#(n__isList(X))isList#(X)isNeList#(V)isQid#(activate(V))
activate#(n__isNeList(X))isNeList#(X)isNePal#(n____(I, __(P, I)))activate#(P)
isPal#(V)isNePal#(activate(V))activate#(n__u)u#
activate#(n____(X1, X2))__#(X1, X2)activate#(n__nil)nil#
isNePal#(n____(I, __(P, I)))activate#(I)activate#(n__e)e#
isNePal#(n____(I, __(P, I)))isQid#(activate(I))isNeList#(n____(V1, V2))activate#(V2)
activate#(n__i)i#activate#(n__isPal(X))isPal#(X)
isPal#(V)activate#(V)isList#(V)activate#(V)
isNeList#(n____(V1, V2))isNeList#(activate(V1))isList#(V)isNeList#(activate(V))
isList#(n____(V1, V2))isList#(activate(V1))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)Xand(tt, X)activate(X)
isList(V)isNeList(activate(V))isList(n__nil)tt
isList(n____(V1, V2))and(isList(activate(V1)), n__isList(activate(V2)))isNeList(V)isQid(activate(V))
isNeList(n____(V1, V2))and(isList(activate(V1)), n__isNeList(activate(V2)))isNeList(n____(V1, V2))and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V)isQid(activate(V))isNePal(n____(I, __(P, I)))and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V)isNePal(activate(V))isPal(n__nil)tt
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isList(X)n__isList(X)
isNeList(X)n__isNeList(X)isPal(X)n__isPal(X)
an__aen__e
in__ion__o
un__uactivate(n__nil)nil
activate(n____(X1, X2))__(X1, X2)activate(n__isList(X))isList(X)
activate(n__isNeList(X))isNeList(X)activate(n__isPal(X))isPal(X)
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, n__o, isNePal, n__nil, n__e, e, n__a, a, o, isPal, n__i, and, i, u, tt, isQid, n____, n__isNeList, n__isList, nil, n__isPal

Strategy


The following SCCs where found

and#(tt, X) → activate#(X)isNePal#(n____(I, __(P, I))) → and#(isQid(activate(I)), n__isPal(activate(P)))
isNeList#(n____(V1, V2)) → and#(isNeList(activate(V1)), n__isList(activate(V2)))activate#(n__isList(X)) → isList#(X)
isNeList#(n____(V1, V2)) → and#(isList(activate(V1)), n__isNeList(activate(V2)))isList#(n____(V1, V2)) → and#(isList(activate(V1)), n__isList(activate(V2)))
activate#(n__isNeList(X)) → isNeList#(X)isNePal#(n____(I, __(P, I))) → activate#(P)
isPal#(V) → isNePal#(activate(V))isNePal#(V) → activate#(V)
isNeList#(n____(V1, V2)) → isList#(activate(V1))isList#(n____(V1, V2)) → activate#(V1)
isList#(n____(V1, V2)) → activate#(V2)isNeList#(V) → activate#(V)
isNePal#(n____(I, __(P, I))) → activate#(I)isNeList#(n____(V1, V2)) → activate#(V2)
isNeList#(n____(V1, V2)) → activate#(V1)activate#(n__isPal(X)) → isPal#(X)
isPal#(V) → activate#(V)isList#(V) → activate#(V)
isNeList#(n____(V1, V2)) → isNeList#(activate(V1))isList#(V) → isNeList#(activate(V))
isList#(n____(V1, V2)) → isList#(activate(V1))

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

Problem 2: 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)Xand(tt, X)activate(X)
isList(V)isNeList(activate(V))isList(n__nil)tt
isList(n____(V1, V2))and(isList(activate(V1)), n__isList(activate(V2)))isNeList(V)isQid(activate(V))
isNeList(n____(V1, V2))and(isList(activate(V1)), n__isNeList(activate(V2)))isNeList(n____(V1, V2))and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V)isQid(activate(V))isNePal(n____(I, __(P, I)))and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V)isNePal(activate(V))isPal(n__nil)tt
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isList(X)n__isList(X)
isNeList(X)n__isNeList(X)isPal(X)n__isPal(X)
an__aen__e
in__ion__o
un__uactivate(n__nil)nil
activate(n____(X1, X2))__(X1, X2)activate(n__isList(X))isList(X)
activate(n__isNeList(X))isNeList(X)activate(n__isPal(X))isPal(X)
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, n__o, isNePal, n__nil, n__e, e, n__a, a, o, isPal, n__i, and, i, u, tt, isQid, n____, n__isNeList, n__isList, nil, n__isPal

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 3: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

and#(tt, X)activate#(X)isNePal#(n____(I, __(P, I)))and#(isQid(activate(I)), n__isPal(activate(P)))
isNeList#(n____(V1, V2))and#(isNeList(activate(V1)), n__isList(activate(V2)))activate#(n__isList(X))isList#(X)
isNeList#(n____(V1, V2))and#(isList(activate(V1)), n__isNeList(activate(V2)))isList#(n____(V1, V2))and#(isList(activate(V1)), n__isList(activate(V2)))
isNePal#(n____(I, __(P, I)))activate#(P)activate#(n__isNeList(X))isNeList#(X)
isPal#(V)isNePal#(activate(V))isNePal#(V)activate#(V)
isList#(n____(V1, V2))activate#(V1)isNeList#(n____(V1, V2))isList#(activate(V1))
isList#(n____(V1, V2))activate#(V2)isNeList#(V)activate#(V)
isNePal#(n____(I, __(P, I)))activate#(I)isNeList#(n____(V1, V2))activate#(V2)
isNeList#(n____(V1, V2))activate#(V1)activate#(n__isPal(X))isPal#(X)
isPal#(V)activate#(V)isList#(V)activate#(V)
isNeList#(n____(V1, V2))isNeList#(activate(V1))isList#(V)isNeList#(activate(V))
isList#(n____(V1, V2))isList#(activate(V1))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)Xand(tt, X)activate(X)
isList(V)isNeList(activate(V))isList(n__nil)tt
isList(n____(V1, V2))and(isList(activate(V1)), n__isList(activate(V2)))isNeList(V)isQid(activate(V))
isNeList(n____(V1, V2))and(isList(activate(V1)), n__isNeList(activate(V2)))isNeList(n____(V1, V2))and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V)isQid(activate(V))isNePal(n____(I, __(P, I)))and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V)isNePal(activate(V))isPal(n__nil)tt
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isList(X)n__isList(X)
isNeList(X)n__isNeList(X)isPal(X)n__isPal(X)
an__aen__e
in__ion__o
un__uactivate(n__nil)nil
activate(n____(X1, X2))__(X1, X2)activate(n__isList(X))isList(X)
activate(n__isNeList(X))isNeList(X)activate(n__isPal(X))isPal(X)
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, n__o, isNePal, n__nil, n__e, e, n__a, a, o, isPal, n__i, and, i, u, tt, isQid, n____, n__isNeList, n__isList, nil, n__isPal

Strategy


Polynomial Interpretation

Standard Usable rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
an__aactivate(n__nil)nil
isPal(n__nil)ttisPal(X)n__isPal(X)
isQid(n__u)ttisQid(n__e)tt
__(X1, X2)n____(X1, X2)isNePal(V)isQid(activate(V))
activate(n__isPal(X))isPal(X)isNeList(X)n__isNeList(X)
isList(V)isNeList(activate(V))activate(n__a)a
en__eactivate(n__i)i
isList(n____(V1, V2))and(isList(activate(V1)), n__isList(activate(V2)))isNeList(n____(V1, V2))and(isList(activate(V1)), n__isNeList(activate(V2)))
isNeList(V)isQid(activate(V))isList(n__nil)tt
isNePal(n____(I, __(P, I)))and(isQid(activate(I)), n__isPal(activate(P)))isQid(n__a)tt
isNeList(n____(V1, V2))and(isNeList(activate(V1)), n__isList(activate(V2)))activate(n__isList(X))isList(X)
isQid(n__i)ttand(tt, X)activate(X)
activate(n____(X1, X2))__(X1, X2)activate(n__isNeList(X))isNeList(X)
activate(X)XisList(X)n__isList(X)
isPal(V)isNePal(activate(V))activate(n__u)u
__(nil, X)Xin__i
un__uactivate(n__o)o
on__oniln__nil
isQid(n__o)ttactivate(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)))activate#(P)isNePal#(V)activate#(V)
isNePal#(n____(I, __(P, I)))activate#(I)isPal#(V)activate#(V)

Problem 4: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

and#(tt, X)activate#(X)isNePal#(n____(I, __(P, I)))and#(isQid(activate(I)), n__isPal(activate(P)))
isNeList#(n____(V1, V2))and#(isNeList(activate(V1)), n__isList(activate(V2)))activate#(n__isList(X))isList#(X)
isNeList#(n____(V1, V2))and#(isList(activate(V1)), n__isNeList(activate(V2)))isList#(n____(V1, V2))and#(isList(activate(V1)), n__isList(activate(V2)))
activate#(n__isNeList(X))isNeList#(X)isPal#(V)isNePal#(activate(V))
isList#(n____(V1, V2))activate#(V1)isNeList#(n____(V1, V2))isList#(activate(V1))
isList#(n____(V1, V2))activate#(V2)isNeList#(V)activate#(V)
isNeList#(n____(V1, V2))activate#(V2)isNeList#(n____(V1, V2))activate#(V1)
activate#(n__isPal(X))isPal#(X)isList#(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)Xand(tt, X)activate(X)
isList(V)isNeList(activate(V))isList(n__nil)tt
isList(n____(V1, V2))and(isList(activate(V1)), n__isList(activate(V2)))isNeList(V)isQid(activate(V))
isNeList(n____(V1, V2))and(isList(activate(V1)), n__isNeList(activate(V2)))isNeList(n____(V1, V2))and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V)isQid(activate(V))isNePal(n____(I, __(P, I)))and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V)isNePal(activate(V))isPal(n__nil)tt
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isList(X)n__isList(X)
isNeList(X)n__isNeList(X)isPal(X)n__isPal(X)
an__aen__e
in__ion__o
un__uactivate(n__nil)nil
activate(n____(X1, X2))__(X1, X2)activate(n__isList(X))isList(X)
activate(n__isNeList(X))isNeList(X)activate(n__isPal(X))isPal(X)
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, n__o, isNePal, n__nil, n__e, e, n__a, a, o, isPal, n__i, and, i, u, tt, isQid, n____, n__isNeList, n__isList, nil, n__isPal

Strategy


Polynomial Interpretation

Standard Usable rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
an__aactivate(n__nil)nil
isPal(n__nil)ttisPal(X)n__isPal(X)
isQid(n__u)ttisQid(n__e)tt
__(X1, X2)n____(X1, X2)isNePal(V)isQid(activate(V))
activate(n__isPal(X))isPal(X)isNeList(X)n__isNeList(X)
isList(V)isNeList(activate(V))activate(n__a)a
en__eactivate(n__i)i
isList(n____(V1, V2))and(isList(activate(V1)), n__isList(activate(V2)))isNeList(n____(V1, V2))and(isList(activate(V1)), n__isNeList(activate(V2)))
isNeList(V)isQid(activate(V))isList(n__nil)tt
isNePal(n____(I, __(P, I)))and(isQid(activate(I)), n__isPal(activate(P)))isQid(n__a)tt
isNeList(n____(V1, V2))and(isNeList(activate(V1)), n__isList(activate(V2)))activate(n__isList(X))isList(X)
isQid(n__i)ttand(tt, X)activate(X)
activate(n____(X1, X2))__(X1, X2)activate(n__isNeList(X))isNeList(X)
activate(X)XisList(X)n__isList(X)
isPal(V)isNePal(activate(V))activate(n__u)u
__(nil, X)Xin__i
un__uactivate(n__o)o
on__oniln__nil
isQid(n__o)ttactivate(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))activate#(V1)isList#(n____(V1, V2))activate#(V2)
isNeList#(V)activate#(V)isNeList#(n____(V1, V2))activate#(V2)
isNeList#(n____(V1, V2))activate#(V1)isList#(V)activate#(V)

Problem 5: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

and#(tt, X)activate#(X)isNePal#(n____(I, __(P, I)))and#(isQid(activate(I)), n__isPal(activate(P)))
isNeList#(n____(V1, V2))and#(isNeList(activate(V1)), n__isList(activate(V2)))activate#(n__isList(X))isList#(X)
isNeList#(n____(V1, V2))and#(isList(activate(V1)), n__isNeList(activate(V2)))isList#(n____(V1, V2))and#(isList(activate(V1)), n__isList(activate(V2)))
activate#(n__isNeList(X))isNeList#(X)isPal#(V)isNePal#(activate(V))
isNeList#(n____(V1, V2))isList#(activate(V1))activate#(n__isPal(X))isPal#(X)
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)Xand(tt, X)activate(X)
isList(V)isNeList(activate(V))isList(n__nil)tt
isList(n____(V1, V2))and(isList(activate(V1)), n__isList(activate(V2)))isNeList(V)isQid(activate(V))
isNeList(n____(V1, V2))and(isList(activate(V1)), n__isNeList(activate(V2)))isNeList(n____(V1, V2))and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V)isQid(activate(V))isNePal(n____(I, __(P, I)))and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V)isNePal(activate(V))isPal(n__nil)tt
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isList(X)n__isList(X)
isNeList(X)n__isNeList(X)isPal(X)n__isPal(X)
an__aen__e
in__ion__o
un__uactivate(n__nil)nil
activate(n____(X1, X2))__(X1, X2)activate(n__isList(X))isList(X)
activate(n__isNeList(X))isNeList(X)activate(n__isPal(X))isPal(X)
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, n__o, isNePal, n__nil, n__e, e, n__a, a, o, isPal, n__i, and, i, u, tt, isQid, n____, n__isNeList, n__isList, nil, n__isPal

Strategy


Polynomial Interpretation

Standard Usable rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
an__aactivate(n__nil)nil
isPal(n__nil)ttisPal(X)n__isPal(X)
isQid(n__u)ttisQid(n__e)tt
__(X1, X2)n____(X1, X2)isNePal(V)isQid(activate(V))
activate(n__isPal(X))isPal(X)isNeList(X)n__isNeList(X)
isList(V)isNeList(activate(V))activate(n__a)a
en__eactivate(n__i)i
isList(n____(V1, V2))and(isList(activate(V1)), n__isList(activate(V2)))isNeList(n____(V1, V2))and(isList(activate(V1)), n__isNeList(activate(V2)))
isNeList(V)isQid(activate(V))isList(n__nil)tt
isNePal(n____(I, __(P, I)))and(isQid(activate(I)), n__isPal(activate(P)))isQid(n__a)tt
isNeList(n____(V1, V2))and(isNeList(activate(V1)), n__isList(activate(V2)))activate(n__isList(X))isList(X)
isQid(n__i)ttand(tt, X)activate(X)
activate(n____(X1, X2))__(X1, X2)activate(n__isNeList(X))isNeList(X)
activate(X)XisList(X)n__isList(X)
isPal(V)isNePal(activate(V))activate(n__u)u
__(nil, X)Xin__i
un__uactivate(n__o)o
on__oniln__nil
isQid(n__o)ttactivate(n__e)e

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

activate#(n__isList(X))isList#(X)isList#(n____(V1, V2))and#(isList(activate(V1)), n__isList(activate(V2)))
activate#(n__isNeList(X))isNeList#(X)isNeList#(n____(V1, V2))isList#(activate(V1))
isNeList#(n____(V1, V2))isNeList#(activate(V1))isList#(n____(V1, V2))isList#(activate(V1))
isList#(V)isNeList#(activate(V))

Problem 6: DependencyGraph



Dependency Pair Problem

Dependency Pairs

and#(tt, X)activate#(X)isNePal#(n____(I, __(P, I)))and#(isQid(activate(I)), n__isPal(activate(P)))
isNeList#(n____(V1, V2))and#(isNeList(activate(V1)), n__isList(activate(V2)))isNeList#(n____(V1, V2))and#(isList(activate(V1)), n__isNeList(activate(V2)))
activate#(n__isPal(X))isPal#(X)isPal#(V)isNePal#(activate(V))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)Xand(tt, X)activate(X)
isList(V)isNeList(activate(V))isList(n__nil)tt
isList(n____(V1, V2))and(isList(activate(V1)), n__isList(activate(V2)))isNeList(V)isQid(activate(V))
isNeList(n____(V1, V2))and(isList(activate(V1)), n__isNeList(activate(V2)))isNeList(n____(V1, V2))and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V)isQid(activate(V))isNePal(n____(I, __(P, I)))and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V)isNePal(activate(V))isPal(n__nil)tt
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isList(X)n__isList(X)
isNeList(X)n__isNeList(X)isPal(X)n__isPal(X)
an__aen__e
in__ion__o
un__uactivate(n__nil)nil
activate(n____(X1, X2))__(X1, X2)activate(n__isList(X))isList(X)
activate(n__isNeList(X))isNeList(X)activate(n__isPal(X))isPal(X)
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, n__o, isNePal, n__nil, n__e, e, n__a, a, o, isPal, n__i, and, i, u, tt, isQid, n____, n__isNeList, n__isList, nil, n__isPal

Strategy


The following SCCs where found

and#(tt, X) → activate#(X)isNePal#(n____(I, __(P, I))) → and#(isQid(activate(I)), n__isPal(activate(P)))
activate#(n__isPal(X)) → isPal#(X)isPal#(V) → isNePal#(activate(V))

Problem 7: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

and#(tt, X)activate#(X)isNePal#(n____(I, __(P, I)))and#(isQid(activate(I)), n__isPal(activate(P)))
activate#(n__isPal(X))isPal#(X)isPal#(V)isNePal#(activate(V))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)Xand(tt, X)activate(X)
isList(V)isNeList(activate(V))isList(n__nil)tt
isList(n____(V1, V2))and(isList(activate(V1)), n__isList(activate(V2)))isNeList(V)isQid(activate(V))
isNeList(n____(V1, V2))and(isList(activate(V1)), n__isNeList(activate(V2)))isNeList(n____(V1, V2))and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V)isQid(activate(V))isNePal(n____(I, __(P, I)))and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V)isNePal(activate(V))isPal(n__nil)tt
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isList(X)n__isList(X)
isNeList(X)n__isNeList(X)isPal(X)n__isPal(X)
an__aen__e
in__ion__o
un__uactivate(n__nil)nil
activate(n____(X1, X2))__(X1, X2)activate(n__isList(X))isList(X)
activate(n__isNeList(X))isNeList(X)activate(n__isPal(X))isPal(X)
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, n__o, isNePal, n__nil, n__e, e, n__a, a, o, isPal, n__i, and, i, u, tt, isQid, n____, n__isNeList, n__isList, nil, n__isPal

Strategy


Polynomial Interpretation

Standard Usable rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
an__aactivate(n__nil)nil
isPal(n__nil)ttisPal(X)n__isPal(X)
isQid(n__u)ttisQid(n__e)tt
__(X1, X2)n____(X1, X2)isNePal(V)isQid(activate(V))
activate(n__isPal(X))isPal(X)isNeList(X)n__isNeList(X)
isList(V)isNeList(activate(V))activate(n__a)a
en__eactivate(n__i)i
isList(n____(V1, V2))and(isList(activate(V1)), n__isList(activate(V2)))isList(n__nil)tt
isNeList(V)isQid(activate(V))isNeList(n____(V1, V2))and(isList(activate(V1)), n__isNeList(activate(V2)))
isQid(n__a)ttisNePal(n____(I, __(P, I)))and(isQid(activate(I)), n__isPal(activate(P)))
isNeList(n____(V1, V2))and(isNeList(activate(V1)), n__isList(activate(V2)))activate(n__isList(X))isList(X)
isQid(n__i)ttand(tt, X)activate(X)
activate(n____(X1, X2))__(X1, X2)activate(n__isNeList(X))isNeList(X)
activate(X)XisList(X)n__isList(X)
isPal(V)isNePal(activate(V))activate(n__u)u
__(nil, X)Xin__i
un__uactivate(n__o)o
niln__nilon__o
isQid(n__o)ttactivate(n__e)e

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

activate#(n__isPal(X))isPal#(X)

Problem 8: DependencyGraph



Dependency Pair Problem

Dependency Pairs

and#(tt, X)activate#(X)isNePal#(n____(I, __(P, I)))and#(isQid(activate(I)), n__isPal(activate(P)))
isPal#(V)isNePal#(activate(V))

Rewrite Rules

__(__(X, Y), Z)__(X, __(Y, Z))__(X, nil)X
__(nil, X)Xand(tt, X)activate(X)
isList(V)isNeList(activate(V))isList(n__nil)tt
isList(n____(V1, V2))and(isList(activate(V1)), n__isList(activate(V2)))isNeList(V)isQid(activate(V))
isNeList(n____(V1, V2))and(isList(activate(V1)), n__isNeList(activate(V2)))isNeList(n____(V1, V2))and(isNeList(activate(V1)), n__isList(activate(V2)))
isNePal(V)isQid(activate(V))isNePal(n____(I, __(P, I)))and(isQid(activate(I)), n__isPal(activate(P)))
isPal(V)isNePal(activate(V))isPal(n__nil)tt
isQid(n__a)ttisQid(n__e)tt
isQid(n__i)ttisQid(n__o)tt
isQid(n__u)ttniln__nil
__(X1, X2)n____(X1, X2)isList(X)n__isList(X)
isNeList(X)n__isNeList(X)isPal(X)n__isPal(X)
an__aen__e
in__ion__o
un__uactivate(n__nil)nil
activate(n____(X1, X2))__(X1, X2)activate(n__isList(X))isList(X)
activate(n__isNeList(X))isNeList(X)activate(n__isPal(X))isPal(X)
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, n__o, isNePal, n__nil, n__e, e, n__a, a, o, isPal, n__i, and, i, u, tt, isQid, n____, n__isNeList, n__isList, nil, n__isPal

Strategy


There are no SCCs!