TIMEOUT

The TRS could not be proven terminating. The proof attempt took 60021 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#(U11(tt, V1)) → mark#(U12(isNatIListKind(V1), V1))U91#(X1, active(X2), X3) → U91#(X1, X2, X3)
U12#(active(X1), X2) → U12#(X1, X2)mark#(U61(X)) → U61#(mark(X))
mark#(U51(X1, X2)) → U51#(mark(X1), X2)U11#(mark(X1), X2) → U11#(X1, X2)
active#(isNatIListKind(cons(V1, V2))) → U51#(isNatKind(V1), V2)mark#(U85(X1, X2)) → active#(U85(mark(X1), X2))
active#(isNatList(cons(V1, V2))) → U81#(isNatKind(V1), V1, V2)U91#(mark(X1), X2, X3) → U91#(X1, X2, X3)
U51#(mark(X1), X2) → U51#(X1, X2)mark#(U83(X1, X2, X3)) → active#(U83(mark(X1), X2, X3))
active#(isNatIListKind(cons(V1, V2))) → isNatKind#(V1)U84#(X1, active(X2), X3) → U84#(X1, X2, X3)
isNat#(active(X)) → isNat#(X)U21#(X1, active(X2)) → U21#(X1, X2)
active#(isNatIList(cons(V1, V2))) → U41#(isNatKind(V1), V1, V2)mark#(s(X)) → mark#(X)
mark#(U11(X1, X2)) → active#(U11(mark(X1), X2))active#(U94(tt, L)) → mark#(s(length(L)))
mark#(U12(X1, X2)) → mark#(X1)length#(mark(X)) → length#(X)
U86#(mark(X)) → U86#(X)U43#(mark(X1), X2, X3) → U43#(X1, X2, X3)
active#(U42(tt, V1, V2)) → mark#(U43(isNatIListKind(V2), V1, V2))active#(isNatIListKind(cons(V1, V2))) → mark#(U51(isNatKind(V1), V2))
active#(U41(tt, V1, V2)) → isNatKind#(V1)active#(U82(tt, V1, V2)) → U83#(isNatIListKind(V2), V1, V2)
U82#(X1, active(X2), X3) → U82#(X1, X2, X3)mark#(U52(X)) → mark#(X)
active#(U93(tt, L, N)) → mark#(U94(isNatKind(N), L))U11#(X1, mark(X2)) → U11#(X1, X2)
active#(U21(tt, V1)) → isNatKind#(V1)U41#(X1, active(X2), X3) → U41#(X1, X2, X3)
U43#(active(X1), X2, X3) → U43#(X1, X2, X3)mark#(U41(X1, X2, X3)) → mark#(X1)
active#(U85(tt, V2)) → isNatList#(V2)mark#(U93(X1, X2, X3)) → mark#(X1)
mark#(U71(X)) → U71#(mark(X))active#(U31(tt, V)) → mark#(U32(isNatIListKind(V), V))
U81#(X1, active(X2), X3) → U81#(X1, X2, X3)mark#(U84(X1, X2, X3)) → U84#(mark(X1), X2, X3)
active#(U32(tt, V)) → U33#(isNatList(V))mark#(U45(X1, X2)) → mark#(X1)
mark#(U13(X)) → U13#(mark(X))U12#(X1, active(X2)) → U12#(X1, X2)
active#(U43(tt, V1, V2)) → U44#(isNatIListKind(V2), V1, V2)mark#(U43(X1, X2, X3)) → mark#(X1)
active#(U44(tt, V1, V2)) → U45#(isNat(V1), V2)active#(U32(tt, V)) → mark#(U33(isNatList(V)))
active#(U91(tt, L, N)) → isNatIListKind#(L)active#(U84(tt, V1, V2)) → U85#(isNat(V1), V2)
mark#(U22(X1, X2)) → mark#(X1)U32#(X1, active(X2)) → U32#(X1, X2)
mark#(U21(X1, X2)) → active#(U21(mark(X1), X2))active#(U45(tt, V2)) → U46#(isNatIList(V2))
mark#(U33(X)) → active#(U33(mark(X)))active#(U81(tt, V1, V2)) → U82#(isNatKind(V1), V1, V2)
active#(isNatKind(s(V1))) → U71#(isNatKind(V1))cons#(X1, mark(X2)) → cons#(X1, X2)
U93#(X1, X2, mark(X3)) → U93#(X1, X2, X3)U41#(X1, X2, active(X3)) → U41#(X1, X2, X3)
active#(U93(tt, L, N)) → isNatKind#(N)mark#(U61(X)) → mark#(X)
isNatKind#(mark(X)) → isNatKind#(X)mark#(isNatKind(X)) → isNatKind#(X)
active#(U12(tt, V1)) → mark#(U13(isNatList(V1)))mark#(U46(X)) → active#(U46(mark(X)))
active#(U12(tt, V1)) → isNatList#(V1)mark#(U92(X1, X2, X3)) → mark#(X1)
mark#(U93(X1, X2, X3)) → U93#(mark(X1), X2, X3)U45#(X1, mark(X2)) → U45#(X1, X2)
U21#(active(X1), X2) → U21#(X1, X2)active#(U94(tt, L)) → s#(length(L))
U33#(mark(X)) → U33#(X)cons#(active(X1), X2) → cons#(X1, X2)
active#(U92(tt, L, N)) → isNat#(N)U51#(X1, mark(X2)) → U51#(X1, X2)
U82#(X1, mark(X2), X3) → U82#(X1, X2, X3)isNatList#(mark(X)) → isNatList#(X)
active#(isNat(s(V1))) → U21#(isNatKind(V1), V1)mark#(isNatList(X)) → isNatList#(X)
U33#(active(X)) → U33#(X)active#(U51(tt, V2)) → isNatIListKind#(V2)
mark#(U41(X1, X2, X3)) → active#(U41(mark(X1), X2, X3))U42#(X1, X2, mark(X3)) → U42#(X1, X2, X3)
active#(U41(tt, V1, V2)) → U42#(isNatKind(V1), V1, V2)U83#(X1, active(X2), X3) → U83#(X1, X2, X3)
active#(U31(tt, V)) → U32#(isNatIListKind(V), V)mark#(U91(X1, X2, X3)) → U91#(mark(X1), X2, X3)
mark#(U45(X1, X2)) → active#(U45(mark(X1), X2))U71#(active(X)) → U71#(X)
U93#(X1, active(X2), X3) → U93#(X1, X2, X3)mark#(s(X)) → s#(mark(X))
active#(U21(tt, V1)) → U22#(isNatKind(V1), V1)U85#(mark(X1), X2) → U85#(X1, X2)
U52#(active(X)) → U52#(X)U12#(mark(X1), X2) → U12#(X1, X2)
mark#(U46(X)) → U46#(mark(X))U91#(X1, X2, active(X3)) → U91#(X1, X2, X3)
isNatList#(active(X)) → isNatList#(X)mark#(U93(X1, X2, X3)) → active#(U93(mark(X1), X2, X3))
active#(U85(tt, V2)) → U86#(isNatList(V2))U93#(X1, mark(X2), X3) → U93#(X1, X2, X3)
U93#(active(X1), X2, X3) → U93#(X1, X2, X3)U92#(X1, X2, active(X3)) → U92#(X1, X2, X3)
U71#(mark(X)) → U71#(X)active#(U51(tt, V2)) → mark#(U52(isNatIListKind(V2)))
U42#(active(X1), X2, X3) → U42#(X1, X2, X3)active#(isNat(0)) → mark#(tt)
active#(U11(tt, V1)) → isNatIListKind#(V1)U85#(active(X1), X2) → U85#(X1, X2)
mark#(U94(X1, X2)) → active#(U94(mark(X1), X2))isNatIList#(mark(X)) → isNatIList#(X)
active#(U22(tt, V1)) → U23#(isNat(V1))mark#(isNatIList(X)) → isNatIList#(X)
U43#(X1, X2, mark(X3)) → U43#(X1, X2, X3)active#(U84(tt, V1, V2)) → mark#(U85(isNat(V1), V2))
cons#(X1, active(X2)) → cons#(X1, X2)isNatKind#(active(X)) → isNatKind#(X)
active#(U51(tt, V2)) → U52#(isNatIListKind(V2))active#(isNat(length(V1))) → U11#(isNatIListKind(V1), V1)
active#(U52(tt)) → mark#(tt)mark#(U46(X)) → mark#(X)
U92#(X1, X2, mark(X3)) → U92#(X1, X2, X3)active#(U46(tt)) → mark#(tt)
mark#(U41(X1, X2, X3)) → U41#(mark(X1), X2, X3)active#(U43(tt, V1, V2)) → isNatIListKind#(V2)
mark#(U81(X1, X2, X3)) → active#(U81(mark(X1), X2, X3))active#(U86(tt)) → mark#(tt)
mark#(U21(X1, X2)) → U21#(mark(X1), X2)mark#(U21(X1, X2)) → mark#(X1)
isNat#(mark(X)) → isNat#(X)mark#(isNat(X)) → isNat#(X)
active#(length(cons(N, L))) → isNatList#(L)active#(U61(tt)) → mark#(tt)
active#(isNatList(nil)) → mark#(tt)mark#(U42(X1, X2, X3)) → active#(U42(mark(X1), X2, X3))
mark#(nil) → active#(nil)mark#(U83(X1, X2, X3)) → mark#(X1)
active#(U83(tt, V1, V2)) → mark#(U84(isNatIListKind(V2), V1, V2))mark#(U61(X)) → active#(U61(mark(X)))
U23#(active(X)) → U23#(X)U82#(X1, X2, active(X3)) → U82#(X1, X2, X3)
U81#(active(X1), X2, X3) → U81#(X1, X2, X3)active#(U83(tt, V1, V2)) → U84#(isNatIListKind(V2), V1, V2)
mark#(isNatIListKind(X)) → active#(isNatIListKind(X))active#(U11(tt, V1)) → U12#(isNatIListKind(V1), V1)
active#(isNatIList(zeros)) → mark#(tt)active#(U13(tt)) → mark#(tt)
mark#(cons(X1, X2)) → cons#(mark(X1), X2)mark#(U22(X1, X2)) → active#(U22(mark(X1), X2))
U12#(X1, mark(X2)) → U12#(X1, X2)active#(U81(tt, V1, V2)) → mark#(U82(isNatKind(V1), V1, V2))
mark#(U44(X1, X2, X3)) → active#(U44(mark(X1), X2, X3))U81#(X1, X2, mark(X3)) → U81#(X1, X2, X3)
mark#(length(X)) → length#(mark(X))active#(length(cons(N, L))) → U91#(isNatList(L), L, N)
U94#(mark(X1), X2) → U94#(X1, X2)mark#(U32(X1, X2)) → active#(U32(mark(X1), X2))
active#(isNatKind(length(V1))) → U61#(isNatIListKind(V1))U92#(active(X1), X2, X3) → U92#(X1, X2, X3)
U92#(X1, active(X2), X3) → U92#(X1, X2, X3)active#(U71(tt)) → mark#(tt)
active#(isNat(s(V1))) → mark#(U21(isNatKind(V1), V1))U84#(X1, X2, mark(X3)) → U84#(X1, X2, X3)
U83#(active(X1), X2, X3) → U83#(X1, X2, X3)mark#(U84(X1, X2, X3)) → active#(U84(mark(X1), X2, X3))
mark#(U12(X1, X2)) → U12#(mark(X1), X2)s#(mark(X)) → s#(X)
active#(U31(tt, V)) → isNatIListKind#(V)U32#(active(X1), X2) → U32#(X1, X2)
mark#(U31(X1, X2)) → U31#(mark(X1), X2)U83#(mark(X1), X2, X3) → U83#(X1, X2, X3)
U52#(mark(X)) → U52#(X)active#(isNatIList(V)) → U31#(isNatIListKind(V), V)
mark#(length(X)) → active#(length(mark(X)))mark#(U82(X1, X2, X3)) → U82#(mark(X1), X2, X3)
mark#(U13(X)) → mark#(X)active#(isNatKind(0)) → mark#(tt)
mark#(U11(X1, X2)) → mark#(X1)isNatIListKind#(active(X)) → isNatIListKind#(X)
active#(U41(tt, V1, V2)) → mark#(U42(isNatKind(V1), V1, V2))mark#(U84(X1, X2, X3)) → mark#(X1)
active#(isNatIList(V)) → isNatIListKind#(V)U46#(active(X)) → U46#(X)
U44#(active(X1), X2, X3) → U44#(X1, X2, X3)active#(U32(tt, V)) → isNatList#(V)
active#(length(nil)) → mark#(0)U83#(X1, mark(X2), X3) → U83#(X1, X2, X3)
mark#(U85(X1, X2)) → mark#(X1)mark#(U94(X1, X2)) → mark#(X1)
U94#(X1, active(X2)) → U94#(X1, X2)U83#(X1, X2, active(X3)) → U83#(X1, X2, X3)
mark#(U44(X1, X2, X3)) → U44#(mark(X1), X2, X3)active#(U42(tt, V1, V2)) → isNatIListKind#(V2)
mark#(U22(X1, X2)) → U22#(mark(X1), X2)active#(isNat(length(V1))) → mark#(U11(isNatIListKind(V1), V1))
active#(U45(tt, V2)) → mark#(U46(isNatIList(V2)))active#(length(cons(N, L))) → mark#(U91(isNatList(L), L, N))
active#(U83(tt, V1, V2)) → isNatIListKind#(V2)active#(U22(tt, V1)) → isNat#(V1)
U44#(mark(X1), X2, X3) → U44#(X1, X2, X3)U22#(active(X1), X2) → U22#(X1, X2)
U11#(active(X1), X2) → U11#(X1, X2)active#(U42(tt, V1, V2)) → U43#(isNatIListKind(V2), V1, V2)
mark#(U81(X1, X2, X3)) → U81#(mark(X1), X2, X3)active#(U43(tt, V1, V2)) → mark#(U44(isNatIListKind(V2), V1, V2))
U81#(X1, mark(X2), X3) → U81#(X1, X2, X3)mark#(cons(X1, X2)) → mark#(X1)
mark#(U91(X1, X2, X3)) → active#(U91(mark(X1), X2, X3))mark#(U42(X1, X2, X3)) → mark#(X1)
mark#(U51(X1, X2)) → active#(U51(mark(X1), X2))mark#(U82(X1, X2, X3)) → mark#(X1)
active#(U22(tt, V1)) → mark#(U23(isNat(V1)))U43#(X1, X2, active(X3)) → U43#(X1, X2, X3)
U42#(X1, active(X2), X3) → U42#(X1, X2, X3)mark#(U33(X)) → U33#(mark(X))
U11#(X1, active(X2)) → U11#(X1, X2)active#(isNatKind(length(V1))) → isNatIListKind#(V1)
active#(isNat(s(V1))) → isNatKind#(V1)U81#(X1, X2, active(X3)) → U81#(X1, X2, X3)
U85#(X1, active(X2)) → U85#(X1, X2)U91#(X1, mark(X2), X3) → U91#(X1, X2, X3)
mark#(U45(X1, X2)) → U45#(mark(X1), X2)U61#(active(X)) → U61#(X)
mark#(U32(X1, X2)) → mark#(X1)active#(U91(tt, L, N)) → U92#(isNatIListKind(L), L, N)
U86#(active(X)) → U86#(X)U51#(X1, active(X2)) → U51#(X1, X2)
mark#(U91(X1, X2, X3)) → mark#(X1)U43#(X1, active(X2), X3) → U43#(X1, X2, X3)
active#(U93(tt, L, N)) → U94#(isNatKind(N), L)U22#(mark(X1), X2) → U22#(X1, X2)
mark#(U82(X1, X2, X3)) → active#(U82(mark(X1), X2, X3))U43#(X1, mark(X2), X3) → U43#(X1, X2, X3)
cons#(mark(X1), X2) → cons#(X1, X2)active#(U82(tt, V1, V2)) → mark#(U83(isNatIListKind(V2), V1, V2))
mark#(tt) → active#(tt)U31#(X1, active(X2)) → U31#(X1, X2)
U44#(X1, X2, active(X3)) → U44#(X1, X2, X3)mark#(U23(X)) → active#(U23(mark(X)))
mark#(U33(X)) → mark#(X)U45#(X1, active(X2)) → U45#(X1, X2)
U22#(X1, active(X2)) → U22#(X1, X2)mark#(U81(X1, X2, X3)) → mark#(X1)
mark#(U52(X)) → active#(U52(mark(X)))U82#(mark(X1), X2, X3) → U82#(X1, X2, X3)
U21#(X1, mark(X2)) → U21#(X1, X2)mark#(U23(X)) → mark#(X)
U45#(active(X1), X2) → U45#(X1, X2)U45#(mark(X1), X2) → U45#(X1, X2)
U13#(mark(X)) → U13#(X)mark#(length(X)) → mark#(X)
active#(U94(tt, L)) → length#(L)mark#(U13(X)) → active#(U13(mark(X)))
mark#(zeros) → active#(zeros)mark#(U31(X1, X2)) → active#(U31(mark(X1), X2))
active#(U21(tt, V1)) → mark#(U22(isNatKind(V1), V1))active#(isNat(length(V1))) → isNatIListKind#(V1)
mark#(0) → active#(0)mark#(s(X)) → active#(s(mark(X)))
U61#(mark(X)) → U61#(X)U92#(X1, mark(X2), X3) → U92#(X1, X2, X3)
U41#(X1, X2, mark(X3)) → U41#(X1, X2, X3)mark#(U43(X1, X2, X3)) → active#(U43(mark(X1), X2, X3))
mark#(U71(X)) → active#(U71(mark(X)))mark#(U86(X)) → U86#(mark(X))
active#(isNatIListKind(nil)) → mark#(tt)active#(zeros) → cons#(0, zeros)
mark#(U12(X1, X2)) → active#(U12(mark(X1), X2))U13#(active(X)) → U13#(X)
active#(isNatList(cons(V1, V2))) → mark#(U81(isNatKind(V1), V1, V2))mark#(U71(X)) → mark#(X)
isNatIListKind#(mark(X)) → isNatIListKind#(X)active#(U85(tt, V2)) → mark#(U86(isNatList(V2)))
mark#(isNatIListKind(X)) → isNatIListKind#(X)active#(U44(tt, V1, V2)) → mark#(U45(isNat(V1), V2))
U42#(X1, X2, active(X3)) → U42#(X1, X2, X3)mark#(cons(X1, X2)) → active#(cons(mark(X1), X2))
active#(isNatIListKind(zeros)) → mark#(tt)mark#(isNatKind(X)) → active#(isNatKind(X))
U84#(X1, X2, active(X3)) → U84#(X1, X2, X3)active#(isNatIList(V)) → mark#(U31(isNatIListKind(V), V))
U92#(mark(X1), X2, X3) → U92#(X1, X2, X3)U23#(mark(X)) → U23#(X)
mark#(U43(X1, X2, X3)) → U43#(mark(X1), X2, X3)active#(isNatKind(length(V1))) → mark#(U61(isNatIListKind(V1)))
U44#(X1, mark(X2), X3) → U44#(X1, X2, X3)mark#(U94(X1, X2)) → U94#(mark(X1), X2)
mark#(U52(X)) → U52#(mark(X))U91#(X1, X2, mark(X3)) → U91#(X1, X2, X3)
active#(U45(tt, V2)) → isNatIList#(V2)U91#(active(X1), X2, X3) → U91#(X1, X2, X3)
active#(U33(tt)) → mark#(tt)length#(active(X)) → length#(X)
mark#(U92(X1, X2, X3)) → active#(U92(mark(X1), X2, X3))U31#(active(X1), X2) → U31#(X1, X2)
active#(U81(tt, V1, V2)) → isNatKind#(V1)U93#(mark(X1), X2, X3) → U93#(X1, X2, X3)
U84#(X1, mark(X2), X3) → U84#(X1, X2, X3)mark#(U31(X1, X2)) → mark#(X1)
mark#(U23(X)) → U23#(mark(X))U93#(X1, X2, active(X3)) → U93#(X1, X2, X3)
mark#(isNatIList(X)) → active#(isNatIList(X))U84#(mark(X1), X2, X3) → U84#(X1, X2, X3)
U81#(mark(X1), X2, X3) → U81#(X1, X2, X3)active#(U82(tt, V1, V2)) → isNatIListKind#(V2)
U82#(X1, X2, mark(X3)) → U82#(X1, X2, X3)mark#(U32(X1, X2)) → U32#(mark(X1), X2)
U42#(mark(X1), X2, X3) → U42#(X1, X2, X3)isNatIList#(active(X)) → isNatIList#(X)
mark#(U85(X1, X2)) → U85#(mark(X1), X2)mark#(U86(X)) → active#(U86(mark(X)))
U42#(X1, mark(X2), X3) → U42#(X1, X2, X3)active#(U84(tt, V1, V2)) → isNat#(V1)
mark#(U42(X1, X2, X3)) → U42#(mark(X1), X2, X3)U41#(active(X1), X2, X3) → U41#(X1, X2, X3)
U44#(X1, X2, mark(X3)) → U44#(X1, X2, X3)mark#(isNat(X)) → active#(isNat(X))
U94#(X1, mark(X2)) → U94#(X1, X2)active#(isNatIList(cons(V1, V2))) → mark#(U41(isNatKind(V1), V1, V2))
U22#(X1, mark(X2)) → U22#(X1, X2)U51#(active(X1), X2) → U51#(X1, X2)
U83#(X1, X2, mark(X3)) → U83#(X1, X2, X3)mark#(U51(X1, X2)) → mark#(X1)
U31#(X1, mark(X2)) → U31#(X1, X2)mark#(U44(X1, X2, X3)) → mark#(X1)
U94#(active(X1), X2) → U94#(X1, X2)U32#(X1, mark(X2)) → U32#(X1, X2)
mark#(U86(X)) → mark#(X)mark#(U92(X1, X2, X3)) → U92#(mark(X1), X2, X3)
mark#(U11(X1, X2)) → U11#(mark(X1), X2)U41#(mark(X1), X2, X3) → U41#(X1, X2, X3)
active#(U92(tt, L, N)) → mark#(U93(isNat(N), L, N))active#(U44(tt, V1, V2)) → isNat#(V1)
active#(isNatKind(s(V1))) → isNatKind#(V1)U82#(active(X1), X2, X3) → U82#(X1, X2, X3)
active#(U92(tt, L, N)) → U93#(isNat(N), L, N)active#(isNatIList(cons(V1, V2))) → isNatKind#(V1)
active#(U91(tt, L, N)) → mark#(U92(isNatIListKind(L), L, N))mark#(U83(X1, X2, X3)) → U83#(mark(X1), X2, X3)
U41#(X1, mark(X2), X3) → U41#(X1, X2, X3)U46#(mark(X)) → U46#(X)
U31#(mark(X1), X2) → U31#(X1, X2)active#(U23(tt)) → mark#(tt)
U44#(X1, active(X2), X3) → U44#(X1, X2, X3)active#(U12(tt, V1)) → U13#(isNatList(V1))
U21#(mark(X1), X2) → U21#(X1, X2)U32#(mark(X1), X2) → U32#(X1, X2)
active#(isNatKind(s(V1))) → mark#(U71(isNatKind(V1)))active#(isNatList(cons(V1, V2))) → isNatKind#(V1)
active#(zeros) → mark#(cons(0, zeros))s#(active(X)) → s#(X)
U85#(X1, mark(X2)) → U85#(X1, X2)mark#(isNatList(X)) → active#(isNatList(X))
U84#(active(X1), X2, X3) → U84#(X1, X2, X3)

Rewrite Rules

active(zeros) → mark(cons(0, zeros))active(U11(tt, V1)) → mark(U12(isNatIListKind(V1), V1))
active(U12(tt, V1)) → mark(U13(isNatList(V1)))active(U13(tt)) → mark(tt)
active(U21(tt, V1)) → mark(U22(isNatKind(V1), V1))active(U22(tt, V1)) → mark(U23(isNat(V1)))
active(U23(tt)) → mark(tt)active(U31(tt, V)) → mark(U32(isNatIListKind(V), V))
active(U32(tt, V)) → mark(U33(isNatList(V)))active(U33(tt)) → mark(tt)
active(U41(tt, V1, V2)) → mark(U42(isNatKind(V1), V1, V2))active(U42(tt, V1, V2)) → mark(U43(isNatIListKind(V2), V1, V2))
active(U43(tt, V1, V2)) → mark(U44(isNatIListKind(V2), V1, V2))active(U44(tt, V1, V2)) → mark(U45(isNat(V1), V2))
active(U45(tt, V2)) → mark(U46(isNatIList(V2)))active(U46(tt)) → mark(tt)
active(U51(tt, V2)) → mark(U52(isNatIListKind(V2)))active(U52(tt)) → mark(tt)
active(U61(tt)) → mark(tt)active(U71(tt)) → mark(tt)
active(U81(tt, V1, V2)) → mark(U82(isNatKind(V1), V1, V2))active(U82(tt, V1, V2)) → mark(U83(isNatIListKind(V2), V1, V2))
active(U83(tt, V1, V2)) → mark(U84(isNatIListKind(V2), V1, V2))active(U84(tt, V1, V2)) → mark(U85(isNat(V1), V2))
active(U85(tt, V2)) → mark(U86(isNatList(V2)))active(U86(tt)) → mark(tt)
active(U91(tt, L, N)) → mark(U92(isNatIListKind(L), L, N))active(U92(tt, L, N)) → mark(U93(isNat(N), L, N))
active(U93(tt, L, N)) → mark(U94(isNatKind(N), L))active(U94(tt, L)) → mark(s(length(L)))
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(isNatKind(V1), V1, V2))
active(isNatIListKind(nil)) → mark(tt)active(isNatIListKind(zeros)) → mark(tt)
active(isNatIListKind(cons(V1, V2))) → mark(U51(isNatKind(V1), V2))active(isNatKind(0)) → mark(tt)
active(isNatKind(length(V1))) → mark(U61(isNatIListKind(V1)))active(isNatKind(s(V1))) → mark(U71(isNatKind(V1)))
active(isNatList(nil)) → mark(tt)active(isNatList(cons(V1, V2))) → mark(U81(isNatKind(V1), V1, V2))
active(length(nil)) → mark(0)active(length(cons(N, L))) → mark(U91(isNatList(L), L, N))
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(X1, X2)) → active(U12(mark(X1), X2))
mark(isNatIListKind(X)) → active(isNatIListKind(X))mark(U13(X)) → active(U13(mark(X)))
mark(isNatList(X)) → active(isNatList(X))mark(U21(X1, X2)) → active(U21(mark(X1), X2))
mark(U22(X1, X2)) → active(U22(mark(X1), X2))mark(isNatKind(X)) → active(isNatKind(X))
mark(U23(X)) → active(U23(mark(X)))mark(isNat(X)) → active(isNat(X))
mark(U31(X1, X2)) → active(U31(mark(X1), X2))mark(U32(X1, X2)) → active(U32(mark(X1), X2))
mark(U33(X)) → active(U33(mark(X)))mark(U41(X1, X2, X3)) → active(U41(mark(X1), X2, X3))
mark(U42(X1, X2, X3)) → active(U42(mark(X1), X2, X3))mark(U43(X1, X2, X3)) → active(U43(mark(X1), X2, X3))
mark(U44(X1, X2, X3)) → active(U44(mark(X1), X2, X3))mark(U45(X1, X2)) → active(U45(mark(X1), X2))
mark(U46(X)) → active(U46(mark(X)))mark(isNatIList(X)) → active(isNatIList(X))
mark(U51(X1, X2)) → active(U51(mark(X1), X2))mark(U52(X)) → active(U52(mark(X)))
mark(U61(X)) → active(U61(mark(X)))mark(U71(X)) → active(U71(mark(X)))
mark(U81(X1, X2, X3)) → active(U81(mark(X1), X2, X3))mark(U82(X1, X2, X3)) → active(U82(mark(X1), X2, X3))
mark(U83(X1, X2, X3)) → active(U83(mark(X1), X2, X3))mark(U84(X1, X2, X3)) → active(U84(mark(X1), X2, X3))
mark(U85(X1, X2)) → active(U85(mark(X1), X2))mark(U86(X)) → active(U86(mark(X)))
mark(U91(X1, X2, X3)) → active(U91(mark(X1), X2, X3))mark(U92(X1, X2, X3)) → active(U92(mark(X1), X2, X3))
mark(U93(X1, X2, X3)) → active(U93(mark(X1), X2, X3))mark(U94(X1, X2)) → active(U94(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))mark(length(X)) → active(length(mark(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(X1), X2) → U12(X1, X2)
U12(X1, mark(X2)) → U12(X1, X2)U12(active(X1), X2) → U12(X1, X2)
U12(X1, active(X2)) → U12(X1, X2)isNatIListKind(mark(X)) → isNatIListKind(X)
isNatIListKind(active(X)) → isNatIListKind(X)U13(mark(X)) → U13(X)
U13(active(X)) → U13(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(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)isNatKind(mark(X)) → isNatKind(X)
isNatKind(active(X)) → isNatKind(X)U23(mark(X)) → U23(X)
U23(active(X)) → U23(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(X1), X2) → U32(X1, X2)
U32(X1, mark(X2)) → U32(X1, X2)U32(active(X1), X2) → U32(X1, X2)
U32(X1, active(X2)) → U32(X1, X2)U33(mark(X)) → U33(X)
U33(active(X)) → U33(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, X3) → U42(X1, X2, X3)
U42(X1, mark(X2), X3) → U42(X1, X2, X3)U42(X1, X2, mark(X3)) → U42(X1, X2, X3)
U42(active(X1), X2, X3) → U42(X1, X2, X3)U42(X1, active(X2), X3) → U42(X1, X2, X3)
U42(X1, X2, active(X3)) → U42(X1, X2, X3)U43(mark(X1), X2, X3) → U43(X1, X2, X3)
U43(X1, mark(X2), X3) → U43(X1, X2, X3)U43(X1, X2, mark(X3)) → U43(X1, X2, X3)
U43(active(X1), X2, X3) → U43(X1, X2, X3)U43(X1, active(X2), X3) → U43(X1, X2, X3)
U43(X1, X2, active(X3)) → U43(X1, X2, X3)U44(mark(X1), X2, X3) → U44(X1, X2, X3)
U44(X1, mark(X2), X3) → U44(X1, X2, X3)U44(X1, X2, mark(X3)) → U44(X1, X2, X3)
U44(active(X1), X2, X3) → U44(X1, X2, X3)U44(X1, active(X2), X3) → U44(X1, X2, X3)
U44(X1, X2, active(X3)) → U44(X1, X2, X3)U45(mark(X1), X2) → U45(X1, X2)
U45(X1, mark(X2)) → U45(X1, X2)U45(active(X1), X2) → U45(X1, X2)
U45(X1, active(X2)) → U45(X1, X2)U46(mark(X)) → U46(X)
U46(active(X)) → U46(X)isNatIList(mark(X)) → isNatIList(X)
isNatIList(active(X)) → isNatIList(X)U51(mark(X1), X2) → U51(X1, X2)
U51(X1, mark(X2)) → U51(X1, X2)U51(active(X1), X2) → U51(X1, X2)
U51(X1, active(X2)) → U51(X1, X2)U52(mark(X)) → U52(X)
U52(active(X)) → U52(X)U61(mark(X)) → U61(X)
U61(active(X)) → U61(X)U71(mark(X)) → U71(X)
U71(active(X)) → U71(X)U81(mark(X1), X2, X3) → U81(X1, X2, X3)
U81(X1, mark(X2), X3) → U81(X1, X2, X3)U81(X1, X2, mark(X3)) → U81(X1, X2, X3)
U81(active(X1), X2, X3) → U81(X1, X2, X3)U81(X1, active(X2), X3) → U81(X1, X2, X3)
U81(X1, X2, active(X3)) → U81(X1, X2, X3)U82(mark(X1), X2, X3) → U82(X1, X2, X3)
U82(X1, mark(X2), X3) → U82(X1, X2, X3)U82(X1, X2, mark(X3)) → U82(X1, X2, X3)
U82(active(X1), X2, X3) → U82(X1, X2, X3)U82(X1, active(X2), X3) → U82(X1, X2, X3)
U82(X1, X2, active(X3)) → U82(X1, X2, X3)U83(mark(X1), X2, X3) → U83(X1, X2, X3)
U83(X1, mark(X2), X3) → U83(X1, X2, X3)U83(X1, X2, mark(X3)) → U83(X1, X2, X3)
U83(active(X1), X2, X3) → U83(X1, X2, X3)U83(X1, active(X2), X3) → U83(X1, X2, X3)
U83(X1, X2, active(X3)) → U83(X1, X2, X3)U84(mark(X1), X2, X3) → U84(X1, X2, X3)
U84(X1, mark(X2), X3) → U84(X1, X2, X3)U84(X1, X2, mark(X3)) → U84(X1, X2, X3)
U84(active(X1), X2, X3) → U84(X1, X2, X3)U84(X1, active(X2), X3) → U84(X1, X2, X3)
U84(X1, X2, active(X3)) → U84(X1, X2, X3)U85(mark(X1), X2) → U85(X1, X2)
U85(X1, mark(X2)) → U85(X1, X2)U85(active(X1), X2) → U85(X1, X2)
U85(X1, active(X2)) → U85(X1, X2)U86(mark(X)) → U86(X)
U86(active(X)) → U86(X)U91(mark(X1), X2, X3) → U91(X1, X2, X3)
U91(X1, mark(X2), X3) → U91(X1, X2, X3)U91(X1, X2, mark(X3)) → U91(X1, X2, X3)
U91(active(X1), X2, X3) → U91(X1, X2, X3)U91(X1, active(X2), X3) → U91(X1, X2, X3)
U91(X1, X2, active(X3)) → U91(X1, X2, X3)U92(mark(X1), X2, X3) → U92(X1, X2, X3)
U92(X1, mark(X2), X3) → U92(X1, X2, X3)U92(X1, X2, mark(X3)) → U92(X1, X2, X3)
U92(active(X1), X2, X3) → U92(X1, X2, X3)U92(X1, active(X2), X3) → U92(X1, X2, X3)
U92(X1, X2, active(X3)) → U92(X1, X2, X3)U93(mark(X1), X2, X3) → U93(X1, X2, X3)
U93(X1, mark(X2), X3) → U93(X1, X2, X3)U93(X1, X2, mark(X3)) → U93(X1, X2, X3)
U93(active(X1), X2, X3) → U93(X1, X2, X3)U93(X1, active(X2), X3) → U93(X1, X2, X3)
U93(X1, X2, active(X3)) → U93(X1, X2, X3)U94(mark(X1), X2) → U94(X1, X2)
U94(X1, mark(X2)) → U94(X1, X2)U94(active(X1), X2) → U94(X1, X2)
U94(X1, active(X2)) → U94(X1, X2)s(mark(X)) → s(X)
s(active(X)) → s(X)length(mark(X)) → length(X)
length(active(X)) → length(X)

Original Signature

Termination of terms over the following signature is verified: isNatIListKind, U94, isNat, U46, U45, U44, U61, U43, U93, U42, U92, U41, U91, length, U23, U21, cons, U22, isNatIList, isNatKind, U83, U84, U85, mark, U86, U71, 0, s, U51, isNatList, tt, zeros, U82, U81, U52, U11, active, U12, U13, U31, U32, U33, nil