YES

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (4880ms).
 | – Problem 2 was processed with processor SubtermCriterion (1ms).
 | – Problem 3 was processed with processor SubtermCriterion (0ms).
 | – Problem 4 was processed with processor SubtermCriterion (30ms).
 | – Problem 5 was processed with processor SubtermCriterion (0ms).
 | – Problem 6 was processed with processor SubtermCriterion (1ms).
 | – Problem 7 was processed with processor SubtermCriterion (0ms).
 | – Problem 8 was processed with processor SubtermCriterion (1ms).
 | – Problem 9 was processed with processor SubtermCriterion (0ms).
 | – Problem 10 was processed with processor SubtermCriterion (1ms).
 | – Problem 11 was processed with processor SubtermCriterion (0ms).
 | – Problem 12 was processed with processor DependencyGraph (55ms).
 |    | – Problem 25 was processed with processor SubtermCriterion (1ms).
 | – Problem 13 was processed with processor SubtermCriterion (0ms).
 | – Problem 14 was processed with processor SubtermCriterion (1ms).
 | – Problem 15 was processed with processor SubtermCriterion (0ms).
 | – Problem 16 was processed with processor SubtermCriterion (0ms).
 | – Problem 17 was processed with processor SubtermCriterion (1ms).
 | – Problem 18 was processed with processor SubtermCriterion (1ms).
 | – Problem 19 was processed with processor SubtermCriterion (0ms).
 | – Problem 20 was processed with processor SubtermCriterion (1ms).
 | – Problem 21 was processed with processor ReductionPairSAT (8333ms).
 |    | – Problem 26 was processed with processor ReductionPairSAT (3981ms).
 | – Problem 22 was processed with processor SubtermCriterion (1ms).
 |    | – Problem 24 was processed with processor SubtermCriterion (0ms).
 | – Problem 23 was processed with processor SubtermCriterion (0ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

active#(U71(tt, P))isPal#(P)proper#(U41(X1, X2))proper#(X2)
proper#(U41(X1, X2))proper#(X1)active#(U51(tt, V2))U52#(isList(V2))
active#(U51(X1, X2))active#(X1)active#(isList(__(V1, V2)))isList#(V1)
active#(__(__(X, Y), Z))__#(X, __(Y, Z))proper#(U52(X))U52#(proper(X))
U51#(mark(X1), X2)U51#(X1, X2)proper#(U42(X))U42#(proper(X))
active#(U31(X))U31#(active(X))active#(U42(X))U42#(active(X))
active#(isPal(V))U81#(isNePal(V))top#(mark(X))proper#(X)
active#(__(X1, X2))__#(active(X1), X2)active#(U41(tt, V2))U42#(isNeList(V2))
__#(mark(X1), X2)__#(X1, X2)active#(U41(tt, V2))isNeList#(V2)
U81#(mark(X))U81#(X)active#(U11(X))U11#(active(X))
proper#(U71(X1, X2))U71#(proper(X1), proper(X2))active#(isNeList(V))U31#(isQid(V))
active#(U41(X1, X2))active#(X1)proper#(isNePal(X))isNePal#(proper(X))
isQid#(ok(X))isQid#(X)proper#(U22(X))proper#(X)
active#(isList(__(V1, V2)))U21#(isList(V1), V2)active#(isNeList(__(V1, V2)))isNeList#(V1)
U72#(ok(X))U72#(X)active#(isNeList(__(V1, V2)))isList#(V1)
proper#(U11(X))proper#(X)top#(ok(X))active#(X)
active#(isPal(V))isNePal#(V)active#(__(X1, X2))active#(X2)
isList#(ok(X))isList#(X)U71#(mark(X1), X2)U71#(X1, X2)
active#(U52(X))active#(X)proper#(U72(X))proper#(X)
proper#(isList(X))isList#(proper(X))proper#(U51(X1, X2))proper#(X2)
isNeList#(ok(X))isNeList#(X)U42#(ok(X))U42#(X)
U11#(mark(X))U11#(X)active#(isNeList(__(V1, V2)))U51#(isNeList(V1), V2)
active#(U21(X1, X2))U21#(active(X1), X2)proper#(U81(X))U81#(proper(X))
U51#(ok(X1), ok(X2))U51#(X1, X2)active#(U52(X))U52#(active(X))
U61#(mark(X))U61#(X)__#(ok(X1), ok(X2))__#(X1, X2)
proper#(U22(X))U22#(proper(X))active#(__(__(X, Y), Z))__#(Y, Z)
__#(X1, mark(X2))__#(X1, X2)U31#(ok(X))U31#(X)
proper#(U21(X1, X2))proper#(X1)U81#(ok(X))U81#(X)
active#(isNePal(__(I, __(P, I))))U71#(isQid(I), P)active#(U72(X))active#(X)
top#(ok(X))top#(active(X))U61#(ok(X))U61#(X)
isPal#(ok(X))isPal#(X)active#(U71(tt, P))U72#(isPal(P))
active#(U21(tt, V2))U22#(isList(V2))proper#(isList(X))proper#(X)
active#(U81(X))U81#(active(X))U71#(ok(X1), ok(X2))U71#(X1, X2)
proper#(U71(X1, X2))proper#(X2)U42#(mark(X))U42#(X)
proper#(U51(X1, X2))U51#(proper(X1), proper(X2))active#(U41(X1, X2))U41#(active(X1), X2)
proper#(isPal(X))proper#(X)active#(U51(X1, X2))U51#(active(X1), X2)
U22#(mark(X))U22#(X)proper#(__(X1, X2))proper#(X1)
top#(mark(X))top#(proper(X))active#(U31(X))active#(X)
active#(isNePal(V))isQid#(V)U22#(ok(X))U22#(X)
proper#(isNePal(X))proper#(X)active#(U61(X))U61#(active(X))
proper#(isNeList(X))proper#(X)U52#(ok(X))U52#(X)
active#(U81(X))active#(X)isNePal#(ok(X))isNePal#(X)
active#(U72(X))U72#(active(X))U72#(mark(X))U72#(X)
active#(isNePal(V))U61#(isQid(V))active#(U21(tt, V2))isList#(V2)
proper#(isQid(X))proper#(X)proper#(U72(X))U72#(proper(X))
U31#(mark(X))U31#(X)active#(U71(X1, X2))U71#(active(X1), X2)
proper#(isPal(X))isPal#(proper(X))active#(U11(X))active#(X)
active#(U42(X))active#(X)proper#(U31(X))U31#(proper(X))
proper#(U61(X))U61#(proper(X))proper#(U51(X1, X2))proper#(X1)
proper#(U42(X))proper#(X)proper#(U21(X1, X2))proper#(X2)
active#(isNeList(V))isQid#(V)proper#(__(X1, X2))__#(proper(X1), proper(X2))
U41#(ok(X1), ok(X2))U41#(X1, X2)proper#(U71(X1, X2))proper#(X1)
active#(U22(X))U22#(active(X))proper#(U11(X))U11#(proper(X))
active#(__(X1, X2))__#(X1, active(X2))U41#(mark(X1), X2)U41#(X1, X2)
active#(isNeList(__(V1, V2)))U41#(isList(V1), V2)active#(U71(X1, X2))active#(X1)
proper#(isQid(X))isQid#(proper(X))proper#(U21(X1, X2))U21#(proper(X1), proper(X2))
active#(__(X1, X2))active#(X1)proper#(U61(X))proper#(X)
active#(isList(V))U11#(isNeList(V))active#(isList(V))isNeList#(V)
active#(isNePal(__(I, __(P, I))))isQid#(I)proper#(__(X1, X2))proper#(X2)
proper#(U81(X))proper#(X)proper#(U41(X1, X2))U41#(proper(X1), proper(X2))
active#(U51(tt, V2))isList#(V2)proper#(isNeList(X))isNeList#(proper(X))
active#(U21(X1, X2))active#(X1)active#(U22(X))active#(X)
U21#(mark(X1), X2)U21#(X1, X2)U52#(mark(X))U52#(X)
U11#(ok(X))U11#(X)active#(U61(X))active#(X)
proper#(U52(X))proper#(X)U21#(ok(X1), ok(X2))U21#(X1, X2)
proper#(U31(X))proper#(X)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


The following SCCs where found

active#(U11(X)) → active#(X)active#(__(X1, X2)) → active#(X1)
active#(U42(X)) → active#(X)active#(U72(X)) → active#(X)
active#(U31(X)) → active#(X)active#(U51(X1, X2)) → active#(X1)
active#(U81(X)) → active#(X)active#(U41(X1, X2)) → active#(X1)
active#(U21(X1, X2)) → active#(X1)active#(U22(X)) → active#(X)
active#(__(X1, X2)) → active#(X2)active#(U52(X)) → active#(X)
active#(U61(X)) → active#(X)active#(U71(X1, X2)) → active#(X1)

U81#(mark(X)) → U81#(X)U81#(ok(X)) → U81#(X)

U41#(ok(X1), ok(X2)) → U41#(X1, X2)U41#(mark(X1), X2) → U41#(X1, X2)

U42#(mark(X)) → U42#(X)U42#(ok(X)) → U42#(X)

isPal#(ok(X)) → isPal#(X)

U31#(ok(X)) → U31#(X)U31#(mark(X)) → U31#(X)

U71#(mark(X1), X2) → U71#(X1, X2)U71#(ok(X1), ok(X2)) → U71#(X1, X2)

U72#(mark(X)) → U72#(X)U72#(ok(X)) → U72#(X)

U61#(mark(X)) → U61#(X)U61#(ok(X)) → U61#(X)

isNePal#(ok(X)) → isNePal#(X)

proper#(__(X1, X2)) → proper#(X1)proper#(U41(X1, X2)) → proper#(X2)
proper#(U41(X1, X2)) → proper#(X1)proper#(U61(X)) → proper#(X)
proper#(isNePal(X)) → proper#(X)proper#(isList(X)) → proper#(X)
proper#(U11(X)) → proper#(X)proper#(isNeList(X)) → proper#(X)
proper#(__(X1, X2)) → proper#(X2)proper#(U81(X)) → proper#(X)
proper#(U51(X1, X2)) → proper#(X1)proper#(U42(X)) → proper#(X)
proper#(U71(X1, X2)) → proper#(X2)proper#(U21(X1, X2)) → proper#(X2)
proper#(isPal(X)) → proper#(X)proper#(U71(X1, X2)) → proper#(X1)
proper#(isQid(X)) → proper#(X)proper#(U72(X)) → proper#(X)
proper#(U21(X1, X2)) → proper#(X1)proper#(U51(X1, X2)) → proper#(X2)
proper#(U22(X)) → proper#(X)proper#(U52(X)) → proper#(X)
proper#(U31(X)) → proper#(X)

U21#(mark(X1), X2) → U21#(X1, X2)U21#(ok(X1), ok(X2)) → U21#(X1, X2)

U11#(ok(X)) → U11#(X)U11#(mark(X)) → U11#(X)

isQid#(ok(X)) → isQid#(X)

U52#(mark(X)) → U52#(X)U52#(ok(X)) → U52#(X)

isList#(ok(X)) → isList#(X)

__#(mark(X1), X2) → __#(X1, X2)__#(ok(X1), ok(X2)) → __#(X1, X2)
__#(X1, mark(X2)) → __#(X1, X2)

active#(U11(X)) → active#(X)active#(U42(X)) → active#(X)
active#(__(X1, X2)) → active#(X1)active#(U72(X)) → active#(X)
active#(U31(X)) → active#(X)active#(U51(X1, X2)) → active#(X1)
active#(isNeList(V)) → U31#(isQid(V))active#(U81(X)) → active#(X)
active#(U41(X1, X2)) → active#(X1)active#(U21(X1, X2)) → active#(X1)
active#(U22(X)) → active#(X)active#(__(X1, X2)) → active#(X2)
active#(U52(X)) → active#(X)active#(__(X1, X2)) → __#(X1, active(X2))
active#(U61(X)) → active#(X)active#(U71(X1, X2)) → active#(X1)

isNeList#(ok(X)) → isNeList#(X)

U22#(ok(X)) → U22#(X)U22#(mark(X)) → U22#(X)

top#(mark(X)) → top#(proper(X))top#(ok(X)) → top#(active(X))

U51#(ok(X1), ok(X2)) → U51#(X1, X2)U51#(mark(X1), X2) → U51#(X1, X2)

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

U81#(mark(X))U81#(X)U81#(ok(X))U81#(X)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

U81#(mark(X))U81#(X)U81#(ok(X))U81#(X)

Problem 3: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

U41#(ok(X1), ok(X2))U41#(X1, X2)U41#(mark(X1), X2)U41#(X1, X2)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

U41#(ok(X1), ok(X2))U41#(X1, X2)U41#(mark(X1), X2)U41#(X1, X2)

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

U42#(mark(X))U42#(X)U42#(ok(X))U42#(X)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

U42#(mark(X))U42#(X)U42#(ok(X))U42#(X)

Problem 5: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

isNeList#(ok(X))isNeList#(X)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

isNeList#(ok(X))isNeList#(X)

Problem 6: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

U52#(mark(X))U52#(X)U52#(ok(X))U52#(X)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

U52#(mark(X))U52#(X)U52#(ok(X))U52#(X)

Problem 7: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

U61#(mark(X))U61#(X)U61#(ok(X))U61#(X)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

U61#(mark(X))U61#(X)U61#(ok(X))U61#(X)

Problem 8: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

U22#(ok(X))U22#(X)U22#(mark(X))U22#(X)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

U22#(ok(X))U22#(X)U22#(mark(X))U22#(X)

Problem 9: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

U72#(mark(X))U72#(X)U72#(ok(X))U72#(X)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

U72#(mark(X))U72#(X)U72#(ok(X))U72#(X)

Problem 10: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

U71#(mark(X1), X2)U71#(X1, X2)U71#(ok(X1), ok(X2))U71#(X1, X2)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

U71#(mark(X1), X2)U71#(X1, X2)U71#(ok(X1), ok(X2))U71#(X1, X2)

Problem 11: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

active#(U11(X))active#(X)active#(U31(X))active#(X)
active#(U72(X))active#(X)active#(U42(X))active#(X)
active#(__(X1, X2))active#(X1)active#(U51(X1, X2))active#(X1)
active#(U81(X))active#(X)active#(U21(X1, X2))active#(X1)
active#(U41(X1, X2))active#(X1)active#(U22(X))active#(X)
active#(__(X1, X2))active#(X2)active#(U52(X))active#(X)
active#(U61(X))active#(X)active#(U71(X1, X2))active#(X1)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

active#(U11(X))active#(X)active#(U72(X))active#(X)
active#(__(X1, X2))active#(X1)active#(U42(X))active#(X)
active#(U31(X))active#(X)active#(U51(X1, X2))active#(X1)
active#(U81(X))active#(X)active#(U41(X1, X2))active#(X1)
active#(U21(X1, X2))active#(X1)active#(U22(X))active#(X)
active#(__(X1, X2))active#(X2)active#(U52(X))active#(X)
active#(U61(X))active#(X)active#(U71(X1, X2))active#(X1)

Problem 12: DependencyGraph



Dependency Pair Problem

Dependency Pairs

active#(U11(X))active#(X)active#(U31(X))active#(X)
active#(U72(X))active#(X)active#(__(X1, X2))active#(X1)
active#(U42(X))active#(X)active#(U51(X1, X2))active#(X1)
active#(isNeList(V))U31#(isQid(V))active#(U81(X))active#(X)
active#(U21(X1, X2))active#(X1)active#(U41(X1, X2))active#(X1)
active#(U22(X))active#(X)active#(__(X1, X2))active#(X2)
active#(U52(X))active#(X)active#(__(X1, X2))__#(X1, active(X2))
active#(U61(X))active#(X)active#(U71(X1, X2))active#(X1)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


The following SCCs where found

active#(U11(X)) → active#(X)active#(U31(X)) → active#(X)
active#(U42(X)) → active#(X)active#(__(X1, X2)) → active#(X1)
active#(U72(X)) → active#(X)active#(U51(X1, X2)) → active#(X1)
active#(U81(X)) → active#(X)active#(U41(X1, X2)) → active#(X1)
active#(U21(X1, X2)) → active#(X1)active#(U22(X)) → active#(X)
active#(__(X1, X2)) → active#(X2)active#(U52(X)) → active#(X)
active#(U61(X)) → active#(X)active#(U71(X1, X2)) → active#(X1)

Problem 25: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

active#(U11(X))active#(X)active#(U72(X))active#(X)
active#(__(X1, X2))active#(X1)active#(U42(X))active#(X)
active#(U31(X))active#(X)active#(U51(X1, X2))active#(X1)
active#(U81(X))active#(X)active#(U21(X1, X2))active#(X1)
active#(U41(X1, X2))active#(X1)active#(U22(X))active#(X)
active#(__(X1, X2))active#(X2)active#(U52(X))active#(X)
active#(U61(X))active#(X)active#(U71(X1, X2))active#(X1)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

active#(U11(X))active#(X)active#(__(X1, X2))active#(X1)
active#(U31(X))active#(X)active#(U42(X))active#(X)
active#(U72(X))active#(X)active#(U51(X1, X2))active#(X1)
active#(U81(X))active#(X)active#(U41(X1, X2))active#(X1)
active#(U21(X1, X2))active#(X1)active#(U22(X))active#(X)
active#(__(X1, X2))active#(X2)active#(U52(X))active#(X)
active#(U61(X))active#(X)active#(U71(X1, X2))active#(X1)

Problem 13: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

U51#(ok(X1), ok(X2))U51#(X1, X2)U51#(mark(X1), X2)U51#(X1, X2)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

U51#(mark(X1), X2)U51#(X1, X2)U51#(ok(X1), ok(X2))U51#(X1, X2)

Problem 14: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

U31#(ok(X))U31#(X)U31#(mark(X))U31#(X)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

U31#(ok(X))U31#(X)U31#(mark(X))U31#(X)

Problem 15: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

U11#(ok(X))U11#(X)U11#(mark(X))U11#(X)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

U11#(ok(X))U11#(X)U11#(mark(X))U11#(X)

Problem 16: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

isNePal#(ok(X))isNePal#(X)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

isNePal#(ok(X))isNePal#(X)

Problem 17: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

U21#(mark(X1), X2)U21#(X1, X2)U21#(ok(X1), ok(X2))U21#(X1, X2)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

U21#(mark(X1), X2)U21#(X1, X2)U21#(ok(X1), ok(X2))U21#(X1, X2)

Problem 18: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

isPal#(ok(X))isPal#(X)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

isPal#(ok(X))isPal#(X)

Problem 19: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

isList#(ok(X))isList#(X)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

isList#(ok(X))isList#(X)

Problem 20: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

isQid#(ok(X))isQid#(X)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

isQid#(ok(X))isQid#(X)

Problem 21: ReductionPairSAT



Dependency Pair Problem

Dependency Pairs

top#(mark(X))top#(proper(X))top#(ok(X))top#(active(X))

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Function Precedence

ok < top# < proper = i = u = nil < e < a = isQid < __ = U71 < isList = U21 = o = isPal = U72 = U51 < isNeList = U41 = isNePal = U22 = active < U61 = U42 = top = mark = tt = U81 = U52 = U11 = U31

Argument Filtering

isList: 1
isNeList: 1
__: 1 2
U61: 1
U42: 1
U41: 1 2
isNePal: 1
ok: collapses to 1
proper: collapses to 1
U21: 1 2
U22: 1
top: all arguments are removed from top
e: all arguments are removed from e
a: all arguments are removed from a
o: all arguments are removed from o
mark: 1
isPal: 1
i: all arguments are removed from i
U71: 1 2
U72: 1
u: all arguments are removed from u
U51: 1 2
tt: all arguments are removed from tt
U81: 1
U52: 1
active: collapses to 1
U11: 1
isQid: collapses to 1
U31: 1
top#: collapses to 1
nil: all arguments are removed from nil

Status

isList: multiset
isNeList: multiset
__: lexicographic with permutation 1 → 1 2 → 2
U61: lexicographic with permutation 1 → 1
U42: lexicographic with permutation 1 → 1
U41: multiset
isNePal: lexicographic with permutation 1 → 1
U21: multiset
U22: lexicographic with permutation 1 → 1
top: multiset
e: multiset
a: multiset
o: multiset
mark: lexicographic with permutation 1 → 1
isPal: lexicographic with permutation 1 → 1
i: multiset
U71: lexicographic with permutation 1 → 1 2 → 2
U72: lexicographic with permutation 1 → 1
u: multiset
U51: multiset
tt: multiset
U81: lexicographic with permutation 1 → 1
U52: lexicographic with permutation 1 → 1
U11: lexicographic with permutation 1 → 1
U31: lexicographic with permutation 1 → 1
nil: multiset

Usable Rules

active(__(X1, X2)) → __(active(X1), X2)active(U61(tt)) → mark(tt)
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))proper(i) → ok(i)
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))proper(a) → ok(a)
U21(mark(X1), X2) → mark(U21(X1, X2))isPal(ok(X)) → ok(isPal(X))
U31(ok(X)) → ok(U31(X))proper(U71(X1, X2)) → U71(proper(X1), proper(X2))
proper(U31(X)) → U31(proper(X))active(isQid(u)) → mark(tt)
proper(isList(X)) → isList(proper(X))active(U72(tt)) → mark(tt)
U22(mark(X)) → mark(U22(X))active(U51(X1, X2)) → U51(active(X1), X2)
proper(isNePal(X)) → isNePal(proper(X))active(U81(X)) → U81(active(X))
active(U22(X)) → U22(active(X))proper(U11(X)) → U11(proper(X))
U42(mark(X)) → mark(U42(X))U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
proper(nil) → ok(nil)active(isList(__(V1, V2))) → mark(U21(isList(V1), V2))
U72(mark(X)) → mark(U72(X))active(U42(tt)) → mark(tt)
active(isNeList(__(V1, V2))) → mark(U51(isNeList(V1), V2))active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), P))
active(U72(X)) → U72(active(X))active(U31(X)) → U31(active(X))
active(U22(tt)) → mark(tt)isQid(ok(X)) → ok(isQid(X))
active(U41(tt, V2)) → mark(U42(isNeList(V2)))U31(mark(X)) → mark(U31(X))
active(U11(tt)) → mark(tt)proper(e) → ok(e)
U72(ok(X)) → ok(U72(X))active(isQid(i)) → mark(tt)
active(U61(X)) → U61(active(X))proper(U21(X1, X2)) → U21(proper(X1), proper(X2))
active(U21(X1, X2)) → U21(active(X1), X2)active(isQid(e)) → mark(tt)
isNeList(ok(X)) → ok(isNeList(X))proper(__(X1, X2)) → __(proper(X1), proper(X2))
active(U52(X)) → U52(active(X))active(isNePal(V)) → mark(U61(isQid(V)))
U61(mark(X)) → mark(U61(X))active(isList(nil)) → mark(tt)
active(isList(V)) → mark(U11(isNeList(V)))U61(ok(X)) → ok(U61(X))
proper(U42(X)) → U42(proper(X))proper(U52(X)) → U52(proper(X))
U81(ok(X)) → ok(U81(X))U71(mark(X1), X2) → mark(U71(X1, X2))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))active(isQid(a)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isList(V2)))active(__(X, nil)) → mark(X)
active(isQid(o)) → mark(tt)active(U71(tt, P)) → mark(U72(isPal(P)))
active(isPal(V)) → mark(U81(isNePal(V)))isNePal(ok(X)) → ok(isNePal(X))
proper(isPal(X)) → isPal(proper(X))__(ok(X1), ok(X2)) → ok(__(X1, X2))
proper(o) → ok(o)U11(ok(X)) → ok(U11(X))
active(U81(tt)) → mark(tt)proper(tt) → ok(tt)
active(isPal(nil)) → mark(tt)U22(ok(X)) → ok(U22(X))
U51(ok(X1), ok(X2)) → ok(U51(X1, X2))active(U11(X)) → U11(active(X))
active(U42(X)) → U42(active(X))active(U31(tt)) → mark(tt)
proper(isQid(X)) → isQid(proper(X))active(__(X1, X2)) → __(X1, active(X2))
active(U52(tt)) → mark(tt)__(X1, mark(X2)) → mark(__(X1, X2))
active(U41(X1, X2)) → U41(active(X1), X2)U11(mark(X)) → mark(U11(X))
__(mark(X1), X2) → mark(__(X1, X2))proper(U72(X)) → U72(proper(X))
U52(mark(X)) → mark(U52(X))U81(mark(X)) → mark(U81(X))
active(isNeList(V)) → mark(U31(isQid(V)))active(__(nil, X)) → mark(X)
U51(mark(X1), X2) → mark(U51(X1, X2))proper(U61(X)) → U61(proper(X))
proper(U41(X1, X2)) → U41(proper(X1), proper(X2))isList(ok(X)) → ok(isList(X))
proper(u) → ok(u)U41(mark(X1), X2) → mark(U41(X1, X2))
proper(U51(X1, X2)) → U51(proper(X1), proper(X2))proper(U81(X)) → U81(proper(X))
active(U21(tt, V2)) → mark(U22(isList(V2)))active(U71(X1, X2)) → U71(active(X1), X2)
U52(ok(X)) → ok(U52(X))proper(U22(X)) → U22(proper(X))
proper(isNeList(X)) → isNeList(proper(X))U42(ok(X)) → ok(U42(X))
active(isNeList(__(V1, V2))) → mark(U41(isList(V1), V2))

The dependency pairs and usable rules are stronlgy conservative!

Eliminated dependency pairs

The following dependency pairs (at least) can be eliminated according to the given precedence.

top#(mark(X)) → top#(proper(X))

Problem 26: ReductionPairSAT



Dependency Pair Problem

Dependency Pairs

top#(ok(X))top#(active(X))

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Function Precedence

e = o = i < U72 < u < a = nil < U11 < isNePal < U52 < U21 < isNeList < U61 = isQid < mark < __ = U41 = U81 = active < top# < U31 < U22 < U51 < isList = U42 = ok = proper = top = isPal = U71 = tt

Argument Filtering

isList: collapses to 1
isNeList: collapses to 1
__: 1 2
U61: collapses to 1
U42: collapses to 1
U41: 1 2
isNePal: collapses to 1
ok: 1
proper: all arguments are removed from proper
U21: collapses to 2
U22: collapses to 1
top: 1
e: all arguments are removed from e
a: all arguments are removed from a
o: all arguments are removed from o
mark: collapses to 1
isPal: collapses to 1
i: all arguments are removed from i
U71: collapses to 2
U72: collapses to 1
u: all arguments are removed from u
U51: collapses to 2
tt: all arguments are removed from tt
U81: collapses to 1
U52: collapses to 1
active: collapses to 1
U11: collapses to 1
isQid: collapses to 1
U31: collapses to 1
top#: 1
nil: all arguments are removed from nil

Status

__: lexicographic with permutation 1 → 1 2 → 2
U41: lexicographic with permutation 1 → 1 2 → 2
ok: lexicographic with permutation 1 → 1
proper: multiset
top: lexicographic with permutation 1 → 1
e: multiset
a: multiset
o: multiset
i: multiset
u: multiset
tt: multiset
top#: multiset
nil: multiset

Usable Rules

active(__(X1, X2)) → __(active(X1), X2)active(U61(tt)) → mark(tt)
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))active(isQid(a)) → mark(tt)
active(__(X, nil)) → mark(X)active(U51(tt, V2)) → mark(U52(isList(V2)))
U21(ok(X1), ok(X2)) → ok(U21(X1, X2))active(isQid(o)) → mark(tt)
active(U71(tt, P)) → mark(U72(isPal(P)))active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(isPal(V)) → mark(U81(isNePal(V)))isNePal(ok(X)) → ok(isNePal(X))
U21(mark(X1), X2) → mark(U21(X1, X2))U31(ok(X)) → ok(U31(X))
isPal(ok(X)) → ok(isPal(X))__(ok(X1), ok(X2)) → ok(__(X1, X2))
U11(ok(X)) → ok(U11(X))active(isQid(u)) → mark(tt)
active(U81(tt)) → mark(tt)U22(ok(X)) → ok(U22(X))
active(isPal(nil)) → mark(tt)U22(mark(X)) → mark(U22(X))
active(U72(tt)) → mark(tt)U51(ok(X1), ok(X2)) → ok(U51(X1, X2))
active(U11(X)) → U11(active(X))active(U51(X1, X2)) → U51(active(X1), X2)
active(U42(X)) → U42(active(X))active(U81(X)) → U81(active(X))
active(U22(X)) → U22(active(X))U42(mark(X)) → mark(U42(X))
active(U31(tt)) → mark(tt)U41(ok(X1), ok(X2)) → ok(U41(X1, X2))
active(isList(__(V1, V2))) → mark(U21(isList(V1), V2))active(U52(tt)) → mark(tt)
active(__(X1, X2)) → __(X1, active(X2))U72(mark(X)) → mark(U72(X))
__(X1, mark(X2)) → mark(__(X1, X2))active(U42(tt)) → mark(tt)
active(isNeList(__(V1, V2))) → mark(U51(isNeList(V1), V2))active(isNePal(__(I, __(P, I)))) → mark(U71(isQid(I), P))
active(U72(X)) → U72(active(X))active(U31(X)) → U31(active(X))
active(U41(X1, X2)) → U41(active(X1), X2)U11(mark(X)) → mark(U11(X))
active(U22(tt)) → mark(tt)__(mark(X1), X2) → mark(__(X1, X2))
isQid(ok(X)) → ok(isQid(X))U52(mark(X)) → mark(U52(X))
U31(mark(X)) → mark(U31(X))active(U41(tt, V2)) → mark(U42(isNeList(V2)))
U72(ok(X)) → ok(U72(X))active(U11(tt)) → mark(tt)
U81(mark(X)) → mark(U81(X))active(isQid(i)) → mark(tt)
active(isNeList(V)) → mark(U31(isQid(V)))active(U61(X)) → U61(active(X))
active(isQid(e)) → mark(tt)active(U21(X1, X2)) → U21(active(X1), X2)
isNeList(ok(X)) → ok(isNeList(X))active(__(nil, X)) → mark(X)
U51(mark(X1), X2) → mark(U51(X1, X2))active(isNePal(V)) → mark(U61(isQid(V)))
active(U52(X)) → U52(active(X))U61(mark(X)) → mark(U61(X))
isList(ok(X)) → ok(isList(X))active(isList(nil)) → mark(tt)
U41(mark(X1), X2) → mark(U41(X1, X2))U61(ok(X)) → ok(U61(X))
active(isList(V)) → mark(U11(isNeList(V)))active(U21(tt, V2)) → mark(U22(isList(V2)))
active(U71(X1, X2)) → U71(active(X1), X2)U52(ok(X)) → ok(U52(X))
U81(ok(X)) → ok(U81(X))U71(mark(X1), X2) → mark(U71(X1, X2))
U42(ok(X)) → ok(U42(X))active(isNeList(__(V1, V2))) → mark(U41(isList(V1), V2))

The dependency pairs and usable rules are stronlgy conservative!

Eliminated dependency pairs

The following dependency pairs (at least) can be eliminated according to the given precedence.

top#(ok(X)) → top#(active(X))

Problem 22: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

__#(mark(X1), X2)__#(X1, X2)__#(ok(X1), ok(X2))__#(X1, X2)
__#(X1, mark(X2))__#(X1, X2)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

__#(mark(X1), X2)__#(X1, X2)__#(ok(X1), ok(X2))__#(X1, X2)

Problem 24: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

__#(X1, mark(X2))__#(X1, X2)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

__#(X1, mark(X2))__#(X1, X2)

Problem 23: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

proper#(__(X1, X2))proper#(X1)proper#(U41(X1, X2))proper#(X2)
proper#(U41(X1, X2))proper#(X1)proper#(U61(X))proper#(X)
proper#(isList(X))proper#(X)proper#(isNePal(X))proper#(X)
proper#(isNeList(X))proper#(X)proper#(U11(X))proper#(X)
proper#(__(X1, X2))proper#(X2)proper#(U81(X))proper#(X)
proper#(U42(X))proper#(X)proper#(U51(X1, X2))proper#(X1)
proper#(U71(X1, X2))proper#(X2)proper#(U21(X1, X2))proper#(X2)
proper#(isPal(X))proper#(X)proper#(U71(X1, X2))proper#(X1)
proper#(isQid(X))proper#(X)proper#(U72(X))proper#(X)
proper#(U21(X1, X2))proper#(X1)proper#(U51(X1, X2))proper#(X2)
proper#(U22(X))proper#(X)proper#(U52(X))proper#(X)
proper#(U31(X))proper#(X)

Rewrite Rules

active(__(__(X, Y), Z))mark(__(X, __(Y, Z)))active(__(X, nil))mark(X)
active(__(nil, X))mark(X)active(U11(tt))mark(tt)
active(U21(tt, V2))mark(U22(isList(V2)))active(U22(tt))mark(tt)
active(U31(tt))mark(tt)active(U41(tt, V2))mark(U42(isNeList(V2)))
active(U42(tt))mark(tt)active(U51(tt, V2))mark(U52(isList(V2)))
active(U52(tt))mark(tt)active(U61(tt))mark(tt)
active(U71(tt, P))mark(U72(isPal(P)))active(U72(tt))mark(tt)
active(U81(tt))mark(tt)active(isList(V))mark(U11(isNeList(V)))
active(isList(nil))mark(tt)active(isList(__(V1, V2)))mark(U21(isList(V1), V2))
active(isNeList(V))mark(U31(isQid(V)))active(isNeList(__(V1, V2)))mark(U41(isList(V1), V2))
active(isNeList(__(V1, V2)))mark(U51(isNeList(V1), V2))active(isNePal(V))mark(U61(isQid(V)))
active(isNePal(__(I, __(P, I))))mark(U71(isQid(I), P))active(isPal(V))mark(U81(isNePal(V)))
active(isPal(nil))mark(tt)active(isQid(a))mark(tt)
active(isQid(e))mark(tt)active(isQid(i))mark(tt)
active(isQid(o))mark(tt)active(isQid(u))mark(tt)
active(__(X1, X2))__(active(X1), X2)active(__(X1, X2))__(X1, active(X2))
active(U11(X))U11(active(X))active(U21(X1, X2))U21(active(X1), X2)
active(U22(X))U22(active(X))active(U31(X))U31(active(X))
active(U41(X1, X2))U41(active(X1), X2)active(U42(X))U42(active(X))
active(U51(X1, X2))U51(active(X1), X2)active(U52(X))U52(active(X))
active(U61(X))U61(active(X))active(U71(X1, X2))U71(active(X1), X2)
active(U72(X))U72(active(X))active(U81(X))U81(active(X))
__(mark(X1), X2)mark(__(X1, X2))__(X1, mark(X2))mark(__(X1, X2))
U11(mark(X))mark(U11(X))U21(mark(X1), X2)mark(U21(X1, X2))
U22(mark(X))mark(U22(X))U31(mark(X))mark(U31(X))
U41(mark(X1), X2)mark(U41(X1, X2))U42(mark(X))mark(U42(X))
U51(mark(X1), X2)mark(U51(X1, X2))U52(mark(X))mark(U52(X))
U61(mark(X))mark(U61(X))U71(mark(X1), X2)mark(U71(X1, X2))
U72(mark(X))mark(U72(X))U81(mark(X))mark(U81(X))
proper(__(X1, X2))__(proper(X1), proper(X2))proper(nil)ok(nil)
proper(U11(X))U11(proper(X))proper(tt)ok(tt)
proper(U21(X1, X2))U21(proper(X1), proper(X2))proper(U22(X))U22(proper(X))
proper(isList(X))isList(proper(X))proper(U31(X))U31(proper(X))
proper(U41(X1, X2))U41(proper(X1), proper(X2))proper(U42(X))U42(proper(X))
proper(isNeList(X))isNeList(proper(X))proper(U51(X1, X2))U51(proper(X1), proper(X2))
proper(U52(X))U52(proper(X))proper(U61(X))U61(proper(X))
proper(U71(X1, X2))U71(proper(X1), proper(X2))proper(U72(X))U72(proper(X))
proper(isPal(X))isPal(proper(X))proper(U81(X))U81(proper(X))
proper(isQid(X))isQid(proper(X))proper(isNePal(X))isNePal(proper(X))
proper(a)ok(a)proper(e)ok(e)
proper(i)ok(i)proper(o)ok(o)
proper(u)ok(u)__(ok(X1), ok(X2))ok(__(X1, X2))
U11(ok(X))ok(U11(X))U21(ok(X1), ok(X2))ok(U21(X1, X2))
U22(ok(X))ok(U22(X))isList(ok(X))ok(isList(X))
U31(ok(X))ok(U31(X))U41(ok(X1), ok(X2))ok(U41(X1, X2))
U42(ok(X))ok(U42(X))isNeList(ok(X))ok(isNeList(X))
U51(ok(X1), ok(X2))ok(U51(X1, X2))U52(ok(X))ok(U52(X))
U61(ok(X))ok(U61(X))U71(ok(X1), ok(X2))ok(U71(X1, X2))
U72(ok(X))ok(U72(X))isPal(ok(X))ok(isPal(X))
U81(ok(X))ok(U81(X))isQid(ok(X))ok(isQid(X))
isNePal(ok(X))ok(isNePal(X))top(mark(X))top(proper(X))
top(ok(X))top(active(X))

Original Signature

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

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

proper#(__(X1, X2))proper#(X1)proper#(U41(X1, X2))proper#(X2)
proper#(U41(X1, X2))proper#(X1)proper#(U61(X))proper#(X)
proper#(isList(X))proper#(X)proper#(isNePal(X))proper#(X)
proper#(isNeList(X))proper#(X)proper#(U11(X))proper#(X)
proper#(__(X1, X2))proper#(X2)proper#(U81(X))proper#(X)
proper#(U51(X1, X2))proper#(X1)proper#(U42(X))proper#(X)
proper#(U71(X1, X2))proper#(X2)proper#(U21(X1, X2))proper#(X2)
proper#(isPal(X))proper#(X)proper#(U71(X1, X2))proper#(X1)
proper#(isQid(X))proper#(X)proper#(U72(X))proper#(X)
proper#(U21(X1, X2))proper#(X1)proper#(U51(X1, X2))proper#(X2)
proper#(U22(X))proper#(X)proper#(U52(X))proper#(X)
proper#(U31(X))proper#(X)