TIMEOUT

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

The following DP Processors were used


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

The following open problems remain:



Open Dependency Pair Problem 1

Dependency Pairs

mark#(U32(X))U32#(mark(X))active#(U52(tt, V2))isNatList#(V2)
U11#(mark(X1), X2)U11#(X1, X2)U52#(X1, active(X2))U52#(X1, X2)
active#(isNatIListKind(cons(V1, V2)))isNatKind#(V1)U21#(X1, active(X2))U21#(X1, X2)
isNat#(active(X))isNat#(X)mark#(s(X))mark#(X)
mark#(U11(X1, X2))active#(U11(mark(X1), X2))length#(mark(X))length#(X)
mark#(U53(X))active#(U53(mark(X)))and#(mark(X1), X2)and#(X1, X2)
active#(U21(tt, V1))isNat#(V1)mark#(U12(X))active#(U12(mark(X)))
U42#(mark(X1), X2)U42#(X1, X2)U11#(X1, mark(X2))U11#(X1, X2)
active#(U12(tt))mark#(tt)U41#(X1, active(X2), X3)U41#(X1, X2, X3)
mark#(U41(X1, X2, X3))mark#(X1)U53#(mark(X))U53#(X)
mark#(U22(X))U22#(mark(X))mark#(U22(X))active#(U22(mark(X)))
mark#(U53(X))U53#(mark(X))mark#(U32(X))mark#(X)
U32#(mark(X))U32#(X)mark#(U21(X1, X2))active#(U21(mark(X1), X2))
active#(isNatIListKind(cons(V1, V2)))and#(isNatKind(V1), isNatIListKind(V2))mark#(U42(X1, X2))U42#(mark(X1), X2)
cons#(X1, mark(X2))cons#(X1, X2)U41#(X1, X2, active(X3))U41#(X1, X2, X3)
isNatKind#(mark(X))isNatKind#(X)active#(U41(tt, V1, V2))U42#(isNat(V1), V2)
mark#(isNatKind(X))isNatKind#(X)U52#(X1, mark(X2))U52#(X1, X2)
active#(isNatIList(cons(V1, V2)))isNatIListKind#(V2)mark#(U42(X1, X2))mark#(X1)
active#(length(cons(N, L)))and#(isNatList(L), isNatIListKind(L))U21#(active(X1), X2)U21#(X1, X2)
cons#(active(X1), X2)cons#(X1, X2)mark#(isNatList(X))isNatList#(X)
active#(isNat(s(V1)))U21#(isNatKind(V1), V1)isNatList#(mark(X))isNatList#(X)
mark#(U41(X1, X2, X3))active#(U41(mark(X1), X2, X3))U42#(active(X1), X2)U42#(X1, X2)
active#(U11(tt, V1))isNatList#(V1)U52#(mark(X1), X2)U52#(X1, X2)
active#(U42(tt, V2))isNatIList#(V2)U61#(active(X1), X2)U61#(X1, X2)
mark#(U52(X1, X2))U52#(mark(X1), X2)mark#(s(X))s#(mark(X))
U12#(mark(X))U12#(X)active#(U41(tt, V1, V2))mark#(U42(isNat(V1), V2))
active#(U11(tt, V1))U12#(isNatList(V1))U61#(mark(X1), X2)U61#(X1, X2)
U22#(mark(X))U22#(X)active#(U61(tt, L))s#(length(L))
isNatList#(active(X))isNatList#(X)U51#(X1, mark(X2), X3)U51#(X1, X2, X3)
active#(isNat(0))mark#(tt)mark#(and(X1, X2))and#(mark(X1), X2)
active#(length(cons(N, L)))and#(isNat(N), isNatKind(N))active#(isNatIListKind(cons(V1, V2)))isNatIListKind#(V2)
active#(isNatIList(cons(V1, V2)))and#(isNatKind(V1), isNatIListKind(V2))mark#(isNatIList(X))isNatIList#(X)
mark#(U61(X1, X2))active#(U61(mark(X1), X2))isNatIList#(mark(X))isNatIList#(X)
active#(U21(tt, V1))U22#(isNat(V1))cons#(X1, active(X2))cons#(X1, X2)
isNatKind#(active(X))isNatKind#(X)U12#(active(X))U12#(X)
active#(isNat(length(V1)))U11#(isNatIListKind(V1), V1)U22#(active(X))U22#(X)
U51#(active(X1), X2, X3)U51#(X1, X2, X3)U43#(active(X))U43#(X)
mark#(U61(X1, X2))mark#(X1)active#(isNatKind(length(V1)))mark#(isNatIListKind(V1))
mark#(U41(X1, X2, X3))U41#(mark(X1), X2, X3)and#(X1, active(X2))and#(X1, X2)
active#(length(cons(N, L)))isNatKind#(N)mark#(U21(X1, X2))mark#(X1)
mark#(U21(X1, X2))U21#(mark(X1), X2)U61#(X1, mark(X2))U61#(X1, X2)
mark#(isNat(X))isNat#(X)isNat#(mark(X))isNat#(X)
active#(length(cons(N, L)))and#(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N)))active#(length(cons(N, L)))isNatList#(L)
active#(isNatList(nil))mark#(tt)mark#(nil)active#(nil)
active#(length(cons(N, L)))isNat#(N)mark#(isNatIListKind(X))active#(isNatIListKind(X))
active#(isNatIList(zeros))mark#(tt)mark#(cons(X1, X2))cons#(mark(X1), X2)
and#(X1, mark(X2))and#(X1, X2)mark#(length(X))length#(mark(X))
U43#(mark(X))U43#(X)active#(isNat(s(V1)))mark#(U21(isNatKind(V1), V1))
s#(mark(X))s#(X)active#(length(cons(N, L)))mark#(U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L))
mark#(U31(X1, X2))U31#(mark(X1), X2)mark#(U51(X1, X2, X3))U51#(mark(X1), X2, X3)
mark#(U32(X))active#(U32(mark(X)))active#(isNatIList(V))U31#(isNatIListKind(V), V)
mark#(U42(X1, X2))active#(U42(mark(X1), X2))mark#(length(X))active#(length(mark(X)))
mark#(U43(X))U43#(mark(X))active#(isNatKind(0))mark#(tt)
mark#(U11(X1, X2))mark#(X1)isNatIListKind#(active(X))isNatIListKind#(X)
active#(isNatIList(V))isNatIListKind#(V)active#(length(nil))mark#(0)
active#(U11(tt, V1))mark#(U12(isNatList(V1)))active#(U22(tt))mark#(tt)
active#(U61(tt, L))mark#(s(length(L)))active#(isNat(length(V1)))mark#(U11(isNatIListKind(V1), V1))
mark#(U53(X))mark#(X)active#(U53(tt))mark#(tt)
U11#(active(X1), X2)U11#(X1, X2)U51#(X1, X2, active(X3))U51#(X1, X2, X3)
active#(U51(tt, V1, V2))U52#(isNat(V1), V2)mark#(cons(X1, X2))mark#(X1)
active#(U52(tt, V2))U53#(isNatList(V2))active#(U61(tt, L))length#(L)
active#(isNatKind(length(V1)))isNatIListKind#(V1)active#(isNat(s(V1)))isNatKind#(V1)
mark#(and(X1, X2))mark#(X1)U11#(X1, active(X2))U11#(X1, X2)
active#(isNatList(cons(V1, V2)))isNatIListKind#(V2)active#(U31(tt, V))U32#(isNatList(V))
active#(isNatList(cons(V1, V2)))U51#(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)mark#(tt)active#(tt)
cons#(mark(X1), X2)cons#(X1, X2)U31#(X1, active(X2))U31#(X1, X2)
mark#(U61(X1, X2))U61#(mark(X1), X2)active#(isNatList(cons(V1, V2)))and#(isNatKind(V1), isNatIListKind(V2))
mark#(U51(X1, X2, X3))mark#(X1)U21#(X1, mark(X2))U21#(X1, X2)
U61#(X1, active(X2))U61#(X1, X2)active#(length(cons(N, L)))U61#(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)
mark#(length(X))mark#(X)mark#(zeros)active#(zeros)
active#(isNatKind(s(V1)))mark#(isNatKind(V1))mark#(U31(X1, X2))active#(U31(mark(X1), X2))
active#(isNat(length(V1)))isNatIListKind#(V1)mark#(0)active#(0)
U51#(mark(X1), X2, X3)U51#(X1, X2, X3)mark#(s(X))active#(s(mark(X)))
U41#(X1, X2, mark(X3))U41#(X1, X2, X3)U52#(active(X1), X2)U52#(X1, X2)
mark#(U43(X))active#(U43(mark(X)))mark#(U22(X))mark#(X)
mark#(U43(X))mark#(X)active#(isNatIListKind(nil))mark#(tt)
active#(zeros)cons#(0, zeros)mark#(U51(X1, X2, X3))active#(U51(mark(X1), X2, X3))
isNatIListKind#(mark(X))isNatIListKind#(X)mark#(isNatIListKind(X))isNatIListKind#(X)
mark#(cons(X1, X2))active#(cons(mark(X1), X2))active#(U21(tt, V1))mark#(U22(isNat(V1)))
active#(isNatIListKind(zeros))mark#(tt)mark#(isNatKind(X))active#(isNatKind(X))
active#(U51(tt, V1, V2))isNat#(V1)active#(isNatIList(V))mark#(U31(isNatIListKind(V), V))
U53#(active(X))U53#(X)active#(U42(tt, V2))mark#(U43(isNatIList(V2)))
U51#(X1, active(X2), X3)U51#(X1, X2, X3)active#(U42(tt, V2))U43#(isNatIList(V2))
length#(active(X))length#(X)U31#(active(X1), X2)U31#(X1, X2)
U42#(X1, mark(X2))U42#(X1, X2)active#(U31(tt, V))mark#(U32(isNatList(V)))
mark#(U31(X1, X2))mark#(X1)active#(U52(tt, V2))mark#(U53(isNatList(V2)))
active#(U32(tt))mark#(tt)mark#(isNatIList(X))active#(isNatIList(X))
mark#(U12(X))U12#(mark(X))active#(isNatList(cons(V1, V2)))mark#(U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2))
isNatIList#(active(X))isNatIList#(X)active#(U31(tt, V))isNatList#(V)
active#(length(cons(N, L)))isNatIListKind#(L)U41#(active(X1), X2, X3)U41#(X1, X2, X3)
active#(U43(tt))mark#(tt)active#(isNatIList(cons(V1, V2)))mark#(U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2))
and#(active(X1), X2)and#(X1, X2)mark#(U52(X1, X2))active#(U52(mark(X1), X2))
mark#(isNat(X))active#(isNat(X))U42#(X1, active(X2))U42#(X1, X2)
U31#(X1, mark(X2))U31#(X1, X2)active#(U41(tt, V1, V2))isNat#(V1)
active#(isNatIListKind(cons(V1, V2)))mark#(and(isNatKind(V1), isNatIListKind(V2)))mark#(U11(X1, X2))U11#(mark(X1), X2)
mark#(and(X1, X2))active#(and(mark(X1), X2))U41#(mark(X1), X2, X3)U41#(X1, X2, X3)
active#(U51(tt, V1, V2))mark#(U52(isNat(V1), V2))active#(isNatKind(s(V1)))isNatKind#(V1)
U32#(active(X))U32#(X)mark#(U12(X))mark#(X)
mark#(U52(X1, X2))mark#(X1)active#(isNatIList(cons(V1, V2)))isNatKind#(V1)
U51#(X1, X2, mark(X3))U51#(X1, X2, X3)active#(and(tt, X))mark#(X)
U41#(X1, mark(X2), X3)U41#(X1, X2, X3)U31#(mark(X1), X2)U31#(X1, X2)
active#(isNatIList(cons(V1, V2)))U41#(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)U21#(mark(X1), X2)U21#(X1, X2)
active#(isNatList(cons(V1, V2)))isNatKind#(V1)active#(zeros)mark#(cons(0, zeros))
s#(active(X))s#(X)mark#(isNatList(X))active#(isNatList(X))

Rewrite Rules

active(zeros)mark(cons(0, zeros))active(U11(tt, V1))mark(U12(isNatList(V1)))
active(U12(tt))mark(tt)active(U21(tt, V1))mark(U22(isNat(V1)))
active(U22(tt))mark(tt)active(U31(tt, V))mark(U32(isNatList(V)))
active(U32(tt))mark(tt)active(U41(tt, V1, V2))mark(U42(isNat(V1), V2))
active(U42(tt, V2))mark(U43(isNatIList(V2)))active(U43(tt))mark(tt)
active(U51(tt, V1, V2))mark(U52(isNat(V1), V2))active(U52(tt, V2))mark(U53(isNatList(V2)))
active(U53(tt))mark(tt)active(U61(tt, L))mark(s(length(L)))
active(and(tt, X))mark(X)active(isNat(0))mark(tt)
active(isNat(length(V1)))mark(U11(isNatIListKind(V1), V1))active(isNat(s(V1)))mark(U21(isNatKind(V1), V1))
active(isNatIList(V))mark(U31(isNatIListKind(V), V))active(isNatIList(zeros))mark(tt)
active(isNatIList(cons(V1, V2)))mark(U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2))active(isNatIListKind(nil))mark(tt)
active(isNatIListKind(zeros))mark(tt)active(isNatIListKind(cons(V1, V2)))mark(and(isNatKind(V1), isNatIListKind(V2)))
active(isNatKind(0))mark(tt)active(isNatKind(length(V1)))mark(isNatIListKind(V1))
active(isNatKind(s(V1)))mark(isNatKind(V1))active(isNatList(nil))mark(tt)
active(isNatList(cons(V1, V2)))mark(U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2))active(length(nil))mark(0)
active(length(cons(N, L)))mark(U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L))mark(zeros)active(zeros)
mark(cons(X1, X2))active(cons(mark(X1), X2))mark(0)active(0)
mark(U11(X1, X2))active(U11(mark(X1), X2))mark(tt)active(tt)
mark(U12(X))active(U12(mark(X)))mark(isNatList(X))active(isNatList(X))
mark(U21(X1, X2))active(U21(mark(X1), X2))mark(U22(X))active(U22(mark(X)))
mark(isNat(X))active(isNat(X))mark(U31(X1, X2))active(U31(mark(X1), X2))
mark(U32(X))active(U32(mark(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(isNatIList(X))active(isNatIList(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(s(X))active(s(mark(X)))
mark(length(X))active(length(mark(X)))mark(and(X1, X2))active(and(mark(X1), X2))
mark(isNatIListKind(X))active(isNatIListKind(X))mark(isNatKind(X))active(isNatKind(X))
mark(nil)active(nil)cons(mark(X1), X2)cons(X1, X2)
cons(X1, mark(X2))cons(X1, X2)cons(active(X1), X2)cons(X1, X2)
cons(X1, active(X2))cons(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)isNatList(mark(X))isNatList(X)
isNatList(active(X))isNatList(X)U21(mark(X1), X2)U21(X1, X2)
U21(X1, mark(X2))U21(X1, X2)U21(active(X1), X2)U21(X1, X2)
U21(X1, active(X2))U21(X1, X2)U22(mark(X))U22(X)
U22(active(X))U22(X)isNat(mark(X))isNat(X)
isNat(active(X))isNat(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)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)isNatIList(mark(X))isNatIList(X)
isNatIList(active(X))isNatIList(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)s(mark(X))s(X)
s(active(X))s(X)length(mark(X))length(X)
length(active(X))length(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)isNatIListKind(mark(X))isNatIListKind(X)
isNatIListKind(active(X))isNatIListKind(X)isNatKind(mark(X))isNatKind(X)
isNatKind(active(X))isNatKind(X)

Original Signature

Termination of terms over the following signature is verified: isNatIListKind, isNat, U43, U61, U42, U41, length, U21, U22, cons, isNatIList, isNatKind, mark, and, 0, isNatList, U51, s, tt, zeros, U53, U52, U11, active, U12, U31, U32, nil