TIMEOUT

The TRS could not be proven terminating. The proof attempt took 60002 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

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

Original Signature

Termination of terms over the following signature is verified: isList, isNeList, __, U62, U43, U61, U42, U41, isNePal, U23, U21, U22, e, isPalListKind, a, o, mark, isPal, i, and, U71, U72, u, U51, tt, U53, U52, U11, active, U12, isQid, U31, U32, nil