TIMEOUT

The TRS could not be proven terminating. The proof attempt took 60017 ms.

The following DP Processors were used


Problem 1 remains open; application of the following processors failed [DependencyGraph (timeout)].

The following open problems remain:



Open Dependency Pair Problem 1

Dependency Pairs

active#(U31(tt, V)) → U32#(isQid(V))active#(isPalListKind(__(V1, V2))) → and#(isPalListKind(V1), isPalListKind(V2))
active#(__(__(X, Y), Z)) → __#(X, __(Y, Z))active#(U12(X)) → active#(X)
U11#(mark(X1), X2) → U11#(X1, X2)proper#(U62(X)) → proper#(X)
top#(mark(X)) → proper#(X)U43#(ok(X)) → U43#(X)
__#(mark(X1), X2) → __#(X1, X2)proper#(U71(X1, X2)) → U71#(proper(X1), proper(X2))
active#(U32(X)) → active#(X)active#(U61(X1, X2)) → active#(X1)
proper#(U12(X)) → U12#(proper(X))and#(mark(X1), X2) → and#(X1, X2)
U42#(mark(X1), X2) → U42#(X1, X2)active#(U42(X1, X2)) → U42#(active(X1), X2)
U53#(mark(X)) → U53#(X)proper#(isNePal(X)) → isNePal#(proper(X))
isQid#(ok(X)) → isQid#(X)proper#(U23(X)) → U23#(proper(X))
proper#(U52(X1, X2)) → proper#(X1)proper#(U21(X1, X2, X3)) → proper#(X3)
active#(U41(X1, X2, X3)) → U41#(active(X1), X2, X3)active#(isPalListKind(__(V1, V2))) → isPalListKind#(V1)
U32#(mark(X)) → U32#(X)active#(U52(X1, X2)) → active#(X1)
active#(and(X1, X2)) → and#(active(X1), X2)active#(U53(X)) → active#(X)
proper#(U41(X1, X2, X3)) → proper#(X1)U52#(ok(X1), ok(X2)) → U52#(X1, X2)
active#(U31(X1, X2)) → active#(X1)active#(U22(X1, X2)) → active#(X1)
proper#(isList(X)) → isList#(proper(X))proper#(U22(X1, X2)) → U22#(proper(X1), proper(X2))
U41#(ok(X1), ok(X2), ok(X3)) → U41#(X1, X2, X3)__#(ok(X1), ok(X2)) → __#(X1, X2)
__#(X1, mark(X2)) → __#(X1, X2)active#(U11(X1, X2)) → U11#(active(X1), X2)
proper#(U42(X1, X2)) → U42#(proper(X1), proper(X2))proper#(U21(X1, X2, X3)) → U21#(proper(X1), proper(X2), proper(X3))
active#(isPal(V)) → U71#(isPalListKind(V), V)U22#(ok(X1), ok(X2)) → U22#(X1, X2)
active#(U51(X1, X2, X3)) → U51#(active(X1), X2, X3)active#(isNePal(__(I, __(P, I)))) → and#(and(isQid(I), isPalListKind(I)), and(isPal(P), isPalListKind(P)))
active#(U41(tt, V1, V2)) → U42#(isList(V1), V2)active#(isNePal(__(I, __(P, I)))) → and#(isPal(P), isPalListKind(P))
proper#(U31(X1, X2)) → U31#(proper(X1), proper(X2))proper#(U21(X1, X2, X3)) → proper#(X2)
U31#(ok(X1), ok(X2)) → U31#(X1, X2)active#(isNeList(__(V1, V2))) → isPalListKind#(V2)
U52#(mark(X1), X2) → U52#(X1, X2)active#(U22(X1, X2)) → U22#(active(X1), X2)
isPal#(ok(X)) → isPal#(X)active#(U51(tt, V1, V2)) → U52#(isNeList(V1), V2)
proper#(isList(X)) → proper#(X)proper#(U11(X1, X2)) → U11#(proper(X1), proper(X2))
proper#(and(X1, X2)) → and#(proper(X1), proper(X2))U71#(ok(X1), ok(X2)) → U71#(X1, X2)
U12#(mark(X)) → U12#(X)proper#(U71(X1, X2)) → proper#(X2)
active#(isNeList(__(V1, V2))) → and#(isPalListKind(V1), isPalListKind(V2))proper#(and(X1, X2)) → proper#(X2)
proper#(U61(X1, X2)) → proper#(X2)U61#(mark(X1), X2) → U61#(X1, X2)
active#(isNeList(__(V1, V2))) → U51#(and(isPalListKind(V1), isPalListKind(V2)), V1, V2)proper#(U41(X1, X2, X3)) → U41#(proper(X1), proper(X2), proper(X3))
proper#(U43(X)) → proper#(X)U61#(ok(X1), ok(X2)) → U61#(X1, X2)
active#(U51(X1, X2, X3)) → active#(X1)active#(U21(tt, V1, V2)) → isList#(V1)
active#(U72(X)) → U72#(active(X))active#(U21(X1, X2, X3)) → active#(X1)
proper#(isQid(X)) → proper#(X)proper#(U72(X)) → U72#(proper(X))
active#(U11(tt, V)) → isNeList#(V)proper#(isPal(X)) → isPal#(proper(X))
active#(U21(tt, V1, V2)) → U22#(isList(V1), V2)proper#(U31(X1, X2)) → proper#(X2)
and#(ok(X1), ok(X2)) → and#(X1, X2)active#(isNeList(__(V1, V2))) → isPalListKind#(V1)
active#(U52(tt, V2)) → isList#(V2)proper#(U32(X)) → proper#(X)
active#(U12(X)) → U12#(active(X))active#(__(X1, X2)) → __#(X1, active(X2))
active#(U71(X1, X2)) → active#(X1)U43#(mark(X)) → U43#(X)
active#(__(X1, X2)) → active#(X1)active#(U42(tt, V2)) → U43#(isNeList(V2))
active#(isNeList(__(V1, V2))) → U41#(and(isPalListKind(V1), isPalListKind(V2)), V1, V2)proper#(isPalListKind(X)) → isPalListKind#(proper(X))
proper#(isNeList(X)) → isNeList#(proper(X))U12#(ok(X)) → U12#(X)
proper#(U11(X1, X2)) → proper#(X1)U21#(ok(X1), ok(X2), ok(X3)) → U21#(X1, X2, X3)
proper#(U41(X1, X2, X3)) → proper#(X2)proper#(U11(X1, X2)) → proper#(X2)
active#(isList(V)) → isPalListKind#(V)active#(U51(tt, V1, V2)) → isNeList#(V1)
proper#(U23(X)) → proper#(X)active#(__(X1, X2)) → __#(active(X1), X2)
active#(isNePal(__(I, __(P, I)))) → and#(isQid(I), isPalListKind(I))active#(U43(X)) → U43#(active(X))
U21#(mark(X1), X2, X3) → U21#(X1, X2, X3)active#(U62(X)) → active#(X)
active#(U21(X1, X2, X3)) → U21#(active(X1), X2, X3)active#(U41(X1, X2, X3)) → active#(X1)
proper#(U51(X1, X2, X3)) → proper#(X1)proper#(U32(X)) → U32#(proper(X))
active#(U71(tt, V)) → isNePal#(V)active#(U53(X)) → U53#(active(X))
proper#(U62(X)) → U62#(proper(X))isPalListKind#(ok(X)) → isPalListKind#(X)
proper#(U51(X1, X2, X3)) → proper#(X2)U51#(ok(X1), ok(X2), ok(X3)) → U51#(X1, X2, X3)
U72#(ok(X)) → U72#(X)U22#(mark(X1), X2) → U22#(X1, X2)
active#(isNePal(__(I, __(P, I)))) → isPalListKind#(P)active#(U52(X1, X2)) → U52#(active(X1), X2)
active#(isList(V)) → U11#(isPalListKind(V), V)top#(ok(X)) → active#(X)
active#(isPalListKind(__(V1, V2))) → isPalListKind#(V2)proper#(U42(X1, X2)) → proper#(X1)
active#(U11(tt, V)) → U12#(isNeList(V))active#(isList(__(V1, V2))) → isPalListKind#(V2)
active#(__(X1, X2)) → active#(X2)U62#(mark(X)) → U62#(X)
proper#(U21(X1, X2, X3)) → proper#(X1)isList#(ok(X)) → isList#(X)
U71#(mark(X1), X2) → U71#(X1, X2)proper#(U72(X)) → proper#(X)
isNeList#(ok(X)) → isNeList#(X)U51#(mark(X1), X2, X3) → U51#(X1, X2, X3)
proper#(U12(X)) → proper#(X)active#(__(__(X, Y), Z)) → __#(Y, Z)
active#(isNePal(__(I, __(P, I)))) → isPalListKind#(I)active#(U31(tt, V)) → isQid#(V)
active#(U23(X)) → active#(X)active#(isNeList(V)) → U31#(isPalListKind(V), V)
active#(isNePal(V)) → U61#(isPalListKind(V), V)active#(U41(tt, V1, V2)) → isList#(V1)
active#(isNePal(V)) → isPalListKind#(V)active#(U72(X)) → active#(X)
top#(ok(X)) → top#(active(X))proper#(U42(X1, X2)) → proper#(X2)
proper#(U31(X1, X2)) → proper#(X1)U23#(mark(X)) → U23#(X)
U11#(ok(X1), ok(X2)) → U11#(X1, X2)U32#(ok(X)) → U32#(X)
proper#(U52(X1, X2)) → U52#(proper(X1), proper(X2))active#(U61(X1, X2)) → U61#(active(X1), X2)
proper#(isPal(X)) → proper#(X)active#(U11(X1, X2)) → active#(X1)
active#(U23(X)) → U23#(active(X))active#(U62(X)) → U62#(active(X))
proper#(__(X1, X2)) → proper#(X1)top#(mark(X)) → top#(proper(X))
active#(U52(tt, V2)) → U53#(isList(V2))active#(U22(tt, V2)) → U23#(isList(V2))
proper#(isNePal(X)) → proper#(X)active#(U71(tt, V)) → U72#(isNePal(V))
proper#(isNeList(X)) → proper#(X)proper#(U22(X1, X2)) → proper#(X2)
U62#(ok(X)) → U62#(X)isNePal#(ok(X)) → isNePal#(X)
proper#(isPalListKind(X)) → proper#(X)U72#(mark(X)) → U72#(X)
active#(isNeList(V)) → isPalListKind#(V)proper#(U43(X)) → U43#(proper(X))
proper#(U51(X1, X2, X3)) → U51#(proper(X1), proper(X2), proper(X3))proper#(U61(X1, X2)) → U61#(proper(X1), proper(X2))
active#(U71(X1, X2)) → U71#(active(X1), X2)proper#(U53(X)) → U53#(proper(X))
proper#(U41(X1, X2, X3)) → proper#(X3)active#(U42(X1, X2)) → active#(X1)
active#(isPal(V)) → isPalListKind#(V)active#(U43(X)) → active#(X)
proper#(and(X1, X2)) → proper#(X1)U53#(ok(X)) → U53#(X)
proper#(U22(X1, X2)) → proper#(X1)proper#(__(X1, X2)) → __#(proper(X1), proper(X2))
active#(U31(X1, X2)) → U31#(active(X1), X2)active#(isList(__(V1, V2))) → and#(isPalListKind(V1), isPalListKind(V2))
active#(isList(__(V1, V2))) → isPalListKind#(V1)proper#(U71(X1, X2)) → proper#(X1)
U41#(mark(X1), X2, X3) → U41#(X1, X2, X3)proper#(U51(X1, X2, X3)) → proper#(X3)
active#(U61(tt, V)) → isQid#(V)U23#(ok(X)) → U23#(X)
active#(isNePal(__(I, __(P, I)))) → isPal#(P)proper#(isQid(X)) → isQid#(proper(X))
proper#(U53(X)) → proper#(X)active#(U32(X)) → U32#(active(X))
U42#(ok(X1), ok(X2)) → U42#(X1, X2)active#(U61(tt, V)) → U62#(isQid(V))
active#(isNePal(__(I, __(P, I)))) → isQid#(I)proper#(__(X1, X2)) → proper#(X2)
active#(U22(tt, V2)) → isList#(V2)U31#(mark(X1), X2) → U31#(X1, X2)
proper#(U61(X1, X2)) → proper#(X1)proper#(U52(X1, X2)) → proper#(X2)
active#(isList(__(V1, V2))) → U21#(and(isPalListKind(V1), isPalListKind(V2)), V1, V2)active#(and(X1, X2)) → active#(X1)
active#(U42(tt, V2)) → isNeList#(V2)

Rewrite Rules

active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)active(U11(tt, V)) → mark(U12(isNeList(V)))
active(U12(tt)) → mark(tt)active(U21(tt, V1, V2)) → mark(U22(isList(V1), V2))
active(U22(tt, V2)) → mark(U23(isList(V2)))active(U23(tt)) → mark(tt)
active(U31(tt, V)) → mark(U32(isQid(V)))active(U32(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isList(V1), V2))active(U42(tt, V2)) → mark(U43(isNeList(V2)))
active(U43(tt)) → mark(tt)active(U51(tt, V1, V2)) → mark(U52(isNeList(V1), V2))
active(U52(tt, V2)) → mark(U53(isList(V2)))active(U53(tt)) → mark(tt)
active(U61(tt, V)) → mark(U62(isQid(V)))active(U62(tt)) → mark(tt)
active(U71(tt, V)) → mark(U72(isNePal(V)))active(U72(tt)) → mark(tt)
active(and(tt, X)) → mark(X)active(isList(V)) → mark(U11(isPalListKind(V), V))
active(isList(nil)) → mark(tt)active(isList(__(V1, V2))) → mark(U21(and(isPalListKind(V1), isPalListKind(V2)), V1, V2))
active(isNeList(V)) → mark(U31(isPalListKind(V), V))active(isNeList(__(V1, V2))) → mark(U41(and(isPalListKind(V1), isPalListKind(V2)), V1, V2))
active(isNeList(__(V1, V2))) → mark(U51(and(isPalListKind(V1), isPalListKind(V2)), V1, V2))active(isNePal(V)) → mark(U61(isPalListKind(V), V))
active(isNePal(__(I, __(P, I)))) → mark(and(and(isQid(I), isPalListKind(I)), and(isPal(P), isPalListKind(P))))active(isPal(V)) → mark(U71(isPalListKind(V), V))
active(isPal(nil)) → mark(tt)active(isPalListKind(a)) → mark(tt)
active(isPalListKind(e)) → mark(tt)active(isPalListKind(i)) → mark(tt)
active(isPalListKind(nil)) → mark(tt)active(isPalListKind(o)) → mark(tt)
active(isPalListKind(u)) → mark(tt)active(isPalListKind(__(V1, V2))) → mark(and(isPalListKind(V1), isPalListKind(V2)))
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(X1, X2)) → U11(active(X1), X2)
active(U12(X)) → U12(active(X))active(U21(X1, X2, X3)) → U21(active(X1), X2, X3)
active(U22(X1, X2)) → U22(active(X1), X2)active(U23(X)) → U23(active(X))
active(U31(X1, X2)) → U31(active(X1), X2)active(U32(X)) → U32(active(X))
active(U41(X1, X2, X3)) → U41(active(X1), X2, X3)active(U42(X1, X2)) → U42(active(X1), X2)
active(U43(X)) → U43(active(X))active(U51(X1, X2, X3)) → U51(active(X1), X2, X3)
active(U52(X1, X2)) → U52(active(X1), X2)active(U53(X)) → U53(active(X))
active(U61(X1, X2)) → U61(active(X1), X2)active(U62(X)) → U62(active(X))
active(U71(X1, X2)) → U71(active(X1), X2)active(U72(X)) → U72(active(X))
active(and(X1, X2)) → and(active(X1), X2)__(mark(X1), X2) → mark(__(X1, X2))
__(X1, mark(X2)) → mark(__(X1, X2))U11(mark(X1), X2) → mark(U11(X1, X2))
U12(mark(X)) → mark(U12(X))U21(mark(X1), X2, X3) → mark(U21(X1, X2, X3))
U22(mark(X1), X2) → mark(U22(X1, X2))U23(mark(X)) → mark(U23(X))
U31(mark(X1), X2) → mark(U31(X1, X2))U32(mark(X)) → mark(U32(X))
U41(mark(X1), X2, X3) → mark(U41(X1, X2, X3))U42(mark(X1), X2) → mark(U42(X1, X2))
U43(mark(X)) → mark(U43(X))U51(mark(X1), X2, X3) → mark(U51(X1, X2, X3))
U52(mark(X1), X2) → mark(U52(X1, X2))U53(mark(X)) → mark(U53(X))
U61(mark(X1), X2) → mark(U61(X1, X2))U62(mark(X)) → mark(U62(X))
U71(mark(X1), X2) → mark(U71(X1, X2))U72(mark(X)) → mark(U72(X))
and(mark(X1), X2) → mark(and(X1, X2))proper(__(X1, X2)) → __(proper(X1), proper(X2))
proper(nil) → ok(nil)proper(U11(X1, X2)) → U11(proper(X1), proper(X2))
proper(tt) → ok(tt)proper(U12(X)) → U12(proper(X))
proper(isNeList(X)) → isNeList(proper(X))proper(U21(X1, X2, X3)) → U21(proper(X1), proper(X2), proper(X3))
proper(U22(X1, X2)) → U22(proper(X1), proper(X2))proper(isList(X)) → isList(proper(X))
proper(U23(X)) → U23(proper(X))proper(U31(X1, X2)) → U31(proper(X1), proper(X2))
proper(U32(X)) → U32(proper(X))proper(isQid(X)) → isQid(proper(X))
proper(U41(X1, X2, X3)) → U41(proper(X1), proper(X2), proper(X3))proper(U42(X1, X2)) → U42(proper(X1), proper(X2))
proper(U43(X)) → U43(proper(X))proper(U51(X1, X2, X3)) → U51(proper(X1), proper(X2), proper(X3))
proper(U52(X1, X2)) → U52(proper(X1), proper(X2))proper(U53(X)) → U53(proper(X))
proper(U61(X1, X2)) → U61(proper(X1), proper(X2))proper(U62(X)) → U62(proper(X))
proper(U71(X1, X2)) → U71(proper(X1), proper(X2))proper(U72(X)) → U72(proper(X))
proper(isNePal(X)) → isNePal(proper(X))proper(and(X1, X2)) → and(proper(X1), proper(X2))
proper(isPalListKind(X)) → isPalListKind(proper(X))proper(isPal(X)) → isPal(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(X1), ok(X2)) → ok(U11(X1, X2))U12(ok(X)) → ok(U12(X))
isNeList(ok(X)) → ok(isNeList(X))U21(ok(X1), ok(X2), ok(X3)) → ok(U21(X1, X2, X3))
U22(ok(X1), ok(X2)) → ok(U22(X1, X2))isList(ok(X)) → ok(isList(X))
U23(ok(X)) → ok(U23(X))U31(ok(X1), ok(X2)) → ok(U31(X1, X2))
U32(ok(X)) → ok(U32(X))isQid(ok(X)) → ok(isQid(X))
U41(ok(X1), ok(X2), ok(X3)) → ok(U41(X1, X2, X3))U42(ok(X1), ok(X2)) → ok(U42(X1, X2))
U43(ok(X)) → ok(U43(X))U51(ok(X1), ok(X2), ok(X3)) → ok(U51(X1, X2, X3))
U52(ok(X1), ok(X2)) → ok(U52(X1, X2))U53(ok(X)) → ok(U53(X))
U61(ok(X1), ok(X2)) → ok(U61(X1, X2))U62(ok(X)) → ok(U62(X))
U71(ok(X1), ok(X2)) → ok(U71(X1, X2))U72(ok(X)) → ok(U72(X))
isNePal(ok(X)) → ok(isNePal(X))and(ok(X1), ok(X2)) → ok(and(X1, X2))
isPalListKind(ok(X)) → ok(isPalListKind(X))isPal(ok(X)) → ok(isPal(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, __, U62, U43, U61, U42, U41, isNePal, ok, proper, U23, U21, top, U22, e, isPalListKind, a, o, mark, isPal, i, and, U71, U72, u, U51, tt, U53, U52, U11, active, U12, isQid, U31, U32, nil