TIMEOUT

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (31345ms).
 | – Problem 2 was processed with processor DependencyGraph (24318ms).
 |    | – Problem 23 remains open; application of the following processors failed [].
 |    | – Problem 24 remains open; application of the following processors failed [].
 |    | – Problem 25 remains open; application of the following processors failed [].
 |    | – Problem 26 remains open; application of the following processors failed [].
 |    | – Problem 27 remains open; application of the following processors failed [].
 |    | – Problem 28 remains open; application of the following processors failed [].
 |    | – Problem 29 remains open; application of the following processors failed [].
 |    | – Problem 30 remains open; application of the following processors failed [].
 |    | – Problem 31 remains open; application of the following processors failed [].
 |    | – Problem 32 remains open; application of the following processors failed [].
 |    | – Problem 33 remains open; application of the following processors failed [].
 |    | – Problem 34 remains open; application of the following processors failed [].
 |    | – Problem 35 remains open; application of the following processors failed [].
 | – Problem 3 remains open; application of the following processors failed [SubtermCriterion (2ms), DependencyGraph (timeout)].
 | – Problem 4 remains open; application of the following processors failed [SubtermCriterion (3ms)].
 | – Problem 5 remains open; application of the following processors failed [SubtermCriterion (2ms)].
 | – Problem 6 remains open; application of the following processors failed [SubtermCriterion (3ms)].
 | – Problem 7 remains open; application of the following processors failed [SubtermCriterion (1ms)].
 | – Problem 8 remains open; application of the following processors failed [SubtermCriterion (2ms)].
 | – Problem 9 remains open; application of the following processors failed [SubtermCriterion (2ms)].
 | – Problem 10 remains open; application of the following processors failed [SubtermCriterion (2ms)].
 | – Problem 11 remains open; application of the following processors failed [SubtermCriterion (2ms)].
 | – Problem 12 remains open; application of the following processors failed [SubtermCriterion (2ms)].
 | – Problem 13 remains open; application of the following processors failed [SubtermCriterion (3ms)].
 | – Problem 14 remains open; application of the following processors failed [SubtermCriterion (1ms)].
 | – Problem 15 remains open; application of the following processors failed [SubtermCriterion (1ms)].
 | – Problem 16 remains open; application of the following processors failed [SubtermCriterion (1ms)].
 | – Problem 17 remains open; application of the following processors failed [SubtermCriterion (2ms)].
 | – Problem 18 remains open; application of the following processors failed [SubtermCriterion (1ms)].
 | – Problem 19 remains open; application of the following processors failed [SubtermCriterion (2ms)].
 | – Problem 20 remains open; application of the following processors failed [SubtermCriterion (2ms)].
 | – Problem 21 remains open; application of the following processors failed [SubtermCriterion (2ms)].
 | – Problem 22 remains open; application of the following processors failed [SubtermCriterion (2ms)].

The following open problems remain:



Open Dependency Pair Problem 2

Dependency Pairs

U132#(tt, IL, M, N)isNat#(activate(M))take#(s(M), cons(N, IL))isNatIList#(activate(IL))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
U94#(tt, V1, V2)activate#(V1)U121#(tt, IL)activate#(IL)
U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))U31#(tt, V)isNatIListKind#(activate(V))
U51#(tt, V2)activate#(V2)isNat#(n__length(V1))activate#(V1)
isNatIListKind#(n__cons(V1, V2))activate#(V2)length#(nil)0#
U111#(tt, L, N)isNatIListKind#(activate(L))U44#(tt, V1, V2)isNat#(activate(V1))
U105#(tt, V2)isNatIList#(activate(V2))U113#(tt, L, N)activate#(L)
U113#(tt, L, N)isNatKind#(activate(N))U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))activate#(n__length(X))length#(activate(X))
take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)U134#(tt, IL, M, N)activate#(M)
length#(cons(N, L))isNatList#(activate(L))U136#(tt, IL, M, N)activate#(IL)
isNatList#(n__take(V1, V2))activate#(V2)U95#(tt, V2)isNatList#(activate(V2))
U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N)activate#(N)
isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
U132#(tt, IL, M, N)activate#(M)take#(s(M), cons(N, IL))activate#(IL)
isNatIListKind#(n__cons(V1, V2))activate#(V1)isNatKind#(n__s(V1))isNatKind#(activate(V1))
U114#(tt, L)activate#(L)isNat#(n__s(V1))isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2))activate#(V2)U92#(tt, V1, V2)activate#(V1)
activate#(n__s(X))activate#(X)U93#(tt, V1, V2)isNatIListKind#(activate(V2))
isNatKind#(n__length(V1))activate#(V1)U32#(tt, V)isNatList#(activate(V))
isNatKind#(n__s(V1))activate#(V1)U93#(tt, V1, V2)activate#(V1)
U102#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)isNatIListKind#(activate(V2))
U105#(tt, V2)activate#(V2)U131#(tt, IL, M, N)activate#(N)
isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatList#(n__take(V1, V2))isNatKind#(activate(V1))U31#(tt, V)activate#(V)
U132#(tt, IL, M, N)activate#(IL)U131#(tt, IL, M, N)activate#(IL)
U114#(tt, L)length#(activate(L))U91#(tt, V1, V2)activate#(V2)
U122#(tt)nil#U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))
U102#(tt, V1, V2)activate#(V2)U112#(tt, L, N)isNat#(activate(N))
U93#(tt, V1, V2)activate#(V2)U21#(tt, V1)activate#(V1)
U32#(tt, V)activate#(V)U11#(tt, V1)activate#(V1)
U41#(tt, V1, V2)activate#(V2)U11#(tt, V1)isNatIListKind#(activate(V1))
U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))U131#(tt, IL, M, N)activate#(M)
isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))U134#(tt, IL, M, N)activate#(IL)
U113#(tt, L, N)activate#(N)U43#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N)activate#(IL)
activate#(n__take(X1, X2))activate#(X1)U91#(tt, V1, V2)activate#(V1)
U44#(tt, V1, V2)activate#(V2)U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2))activate#(V1)isNat#(n__length(V1))isNatIListKind#(activate(V1))
U42#(tt, V1, V2)isNatIListKind#(activate(V2))U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
take#(0, IL)isNatIList#(IL)U121#(tt, IL)isNatIListKind#(activate(IL))
U136#(tt, IL, M, N)activate#(M)U12#(tt, V1)activate#(V1)
U104#(tt, V1, V2)activate#(V2)U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U21#(tt, V1)isNatKind#(activate(V1))activate#(n__take(X1, X2))take#(activate(X1), activate(X2))
U45#(tt, V2)activate#(V2)U135#(tt, IL, M, N)isNatKind#(activate(N))
U95#(tt, V2)activate#(V2)length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N)activate#(M)U45#(tt, V2)isNatIList#(activate(V2))
U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2))activate#(X1)U44#(tt, V1, V2)activate#(V1)
U91#(tt, V1, V2)isNatKind#(activate(V1))U101#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNat#(n__s(V1))activate#(V1)
U41#(tt, V1, V2)isNatKind#(activate(V1))U105#(tt, V2)U106#(isNatIList(activate(V2)))
U134#(tt, IL, M, N)isNat#(activate(N))U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatList#(n__cons(V1, V2))activate#(V2)isNatIList#(V)isNatIListKind#(activate(V))
isNatKind#(n__length(V1))isNatIListKind#(activate(V1))U103#(tt, V1, V2)activate#(V2)
isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))U42#(tt, V1, V2)activate#(V1)
U112#(tt, L, N)activate#(N)U133#(tt, IL, M, N)activate#(IL)
U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))
U112#(tt, L, N)activate#(L)U41#(tt, V1, V2)activate#(V1)
U42#(tt, V1, V2)activate#(V2)U103#(tt, V1, V2)activate#(V1)
U22#(tt, V1)activate#(V1)U92#(tt, V1, V2)activate#(V2)
U12#(tt, V1)isNatList#(activate(V1))U121#(tt, IL)U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))U136#(tt, IL, M, N)activate#(N)
U111#(tt, L, N)activate#(N)isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))U133#(tt, IL, M, N)activate#(M)
U103#(tt, V1, V2)isNatIListKind#(activate(V2))activate#(n__length(X))activate#(X)
U22#(tt, V1)isNat#(activate(V1))U45#(tt, V2)U46#(isNatIList(activate(V2)))
U111#(tt, L, N)activate#(L)U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N)activate#(N)U51#(tt, V2)isNatIListKind#(activate(V2))
U101#(tt, V1, V2)activate#(V2)U61#(tt, V2)isNatIListKind#(activate(V2))
U133#(tt, IL, M, N)isNatKind#(activate(M))U92#(tt, V1, V2)isNatIListKind#(activate(V2))
U135#(tt, IL, M, N)activate#(N)U132#(tt, IL, M, N)activate#(N)
U104#(tt, V1, V2)activate#(V1)isNatIListKind#(n__take(V1, V2))activate#(V2)
isNatIList#(V)activate#(V)U61#(tt, V2)activate#(V2)
activate#(n__take(X1, X2))activate#(X2)U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))take#(0, IL)U121#(isNatIList(IL), IL)
U131#(tt, IL, M, N)isNatIListKind#(activate(IL))isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))
U94#(tt, V1, V2)isNat#(activate(V1))U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2)activate#(V1)U104#(tt, V1, V2)isNat#(activate(V1))
U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L)s#(length(activate(L)))
U43#(tt, V1, V2)isNatIListKind#(activate(V2))U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))activate#(V1)length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 3

Dependency Pairs

take#(s(M), cons(N, IL))isNatIList#(activate(IL))U132#(tt, IL, M, N)isNat#(activate(M))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)U51#(tt, V2)U52#(isNatIListKind(activate(V2)))
isNatList#(n__take(V1, V2))activate#(V1)U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))
isNatIListKind#(n__take(V1, V2))activate#(V1)U121#(tt, IL)activate#(IL)
U94#(tt, V1, V2)activate#(V1)U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))
U31#(tt, V)isNatIListKind#(activate(V))U51#(tt, V2)activate#(V2)
isNat#(n__length(V1))activate#(V1)isNatIListKind#(n__cons(V1, V2))activate#(V2)
U111#(tt, L, N)isNatIListKind#(activate(L))length#(nil)0#
U44#(tt, V1, V2)isNat#(activate(V1))U105#(tt, V2)isNatIList#(activate(V2))
U113#(tt, L, N)activate#(L)U113#(tt, L, N)isNatKind#(activate(N))
U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))
activate#(n__length(X))length#(activate(X))take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)
length#(cons(N, L))isNatList#(activate(L))U134#(tt, IL, M, N)activate#(M)
isNatList#(n__take(V1, V2))activate#(V2)U136#(tt, IL, M, N)activate#(IL)
U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U95#(tt, V2)isNatList#(activate(V2))
U134#(tt, IL, M, N)activate#(N)U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
U132#(tt, IL, M, N)activate#(M)isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(s(M), cons(N, IL))activate#(IL)isNatIListKind#(n__cons(V1, V2))activate#(V1)
isNatKind#(n__s(V1))isNatKind#(activate(V1))U114#(tt, L)activate#(L)
isNat#(n__s(V1))isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2))activate#(V2)
U92#(tt, V1, V2)activate#(V1)activate#(n__s(X))activate#(X)
U93#(tt, V1, V2)isNatIListKind#(activate(V2))isNatKind#(n__length(V1))activate#(V1)
U32#(tt, V)isNatList#(activate(V))isNatKind#(n__s(V1))activate#(V1)
U102#(tt, V1, V2)activate#(V1)U93#(tt, V1, V2)activate#(V1)
U102#(tt, V1, V2)isNatIListKind#(activate(V2))U105#(tt, V2)activate#(V2)
isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))U131#(tt, IL, M, N)activate#(N)
isNatList#(n__take(V1, V2))isNatKind#(activate(V1))U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U31#(tt, V)activate#(V)U132#(tt, IL, M, N)activate#(IL)
U114#(tt, L)length#(activate(L))U131#(tt, IL, M, N)activate#(IL)
U91#(tt, V1, V2)activate#(V2)U122#(tt)nil#
U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))U102#(tt, V1, V2)activate#(V2)
U112#(tt, L, N)isNat#(activate(N))U93#(tt, V1, V2)activate#(V2)
U21#(tt, V1)activate#(V1)U32#(tt, V)activate#(V)
U11#(tt, V1)activate#(V1)U41#(tt, V1, V2)activate#(V2)
U11#(tt, V1)isNatIListKind#(activate(V1))U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))
U131#(tt, IL, M, N)activate#(M)isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))
U134#(tt, IL, M, N)activate#(IL)U113#(tt, L, N)activate#(N)
U43#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N)activate#(IL)activate#(n__take(X1, X2))activate#(X1)
U91#(tt, V1, V2)activate#(V1)U44#(tt, V1, V2)activate#(V2)
U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))isNatList#(n__cons(V1, V2))activate#(V1)
isNat#(n__length(V1))isNatIListKind#(activate(V1))U42#(tt, V1, V2)isNatIListKind#(activate(V2))
U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))take#(0, IL)isNatIList#(IL)
U121#(tt, IL)isNatIListKind#(activate(IL))U136#(tt, IL, M, N)activate#(M)
U104#(tt, V1, V2)activate#(V2)U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U12#(tt, V1)activate#(V1)U21#(tt, V1)isNatKind#(activate(V1))
activate#(n__take(X1, X2))take#(activate(X1), activate(X2))U45#(tt, V2)activate#(V2)
U135#(tt, IL, M, N)isNatKind#(activate(N))U95#(tt, V2)activate#(V2)
length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)U45#(tt, V2)isNatIList#(activate(V2))
U135#(tt, IL, M, N)activate#(M)U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2))activate#(X1)
U44#(tt, V1, V2)activate#(V1)U91#(tt, V1, V2)isNatKind#(activate(V1))
U101#(tt, V1, V2)activate#(V1)U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U41#(tt, V1, V2)isNatKind#(activate(V1))U134#(tt, IL, M, N)isNat#(activate(N))
isNat#(n__s(V1))activate#(V1)U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatList#(n__cons(V1, V2))activate#(V2)isNatIList#(V)isNatIListKind#(activate(V))
isNatKind#(n__length(V1))isNatIListKind#(activate(V1))U103#(tt, V1, V2)activate#(V2)
isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))U42#(tt, V1, V2)activate#(V1)
U112#(tt, L, N)activate#(N)U133#(tt, IL, M, N)activate#(IL)
U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N)activate#(L)U41#(tt, V1, V2)activate#(V1)
U42#(tt, V1, V2)activate#(V2)U103#(tt, V1, V2)activate#(V1)
U22#(tt, V1)activate#(V1)U92#(tt, V1, V2)activate#(V2)
U12#(tt, V1)isNatList#(activate(V1))U121#(tt, IL)U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))U136#(tt, IL, M, N)activate#(N)
U111#(tt, L, N)activate#(N)isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))U133#(tt, IL, M, N)activate#(M)
U103#(tt, V1, V2)isNatIListKind#(activate(V2))activate#(n__length(X))activate#(X)
U22#(tt, V1)isNat#(activate(V1))U111#(tt, L, N)activate#(L)
U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N)activate#(N)
U51#(tt, V2)isNatIListKind#(activate(V2))U101#(tt, V1, V2)activate#(V2)
U61#(tt, V2)isNatIListKind#(activate(V2))U133#(tt, IL, M, N)isNatKind#(activate(M))
U92#(tt, V1, V2)isNatIListKind#(activate(V2))U135#(tt, IL, M, N)activate#(N)
U132#(tt, IL, M, N)activate#(N)U104#(tt, V1, V2)activate#(V1)
isNatIListKind#(n__take(V1, V2))activate#(V2)isNatIList#(V)activate#(V)
U61#(tt, V2)activate#(V2)activate#(n__take(X1, X2))activate#(X2)
U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(0, IL)U121#(isNatIList(IL), IL)
U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))U131#(tt, IL, M, N)isNatIListKind#(activate(IL))
isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))U94#(tt, V1, V2)isNat#(activate(V1))
U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2)activate#(V1)
U104#(tt, V1, V2)isNat#(activate(V1))U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U114#(tt, L)s#(length(activate(L)))U43#(tt, V1, V2)isNatIListKind#(activate(V2))
U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))activate#(V1)
length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 4

Dependency Pairs

take#(s(M), cons(N, IL))isNatIList#(activate(IL))U132#(tt, IL, M, N)isNat#(activate(M))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
U94#(tt, V1, V2)activate#(V1)U121#(tt, IL)activate#(IL)
U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))U31#(tt, V)isNatIListKind#(activate(V))
U51#(tt, V2)activate#(V2)isNat#(n__length(V1))activate#(V1)
isNatIListKind#(n__cons(V1, V2))activate#(V2)length#(nil)0#
U111#(tt, L, N)isNatIListKind#(activate(L))U44#(tt, V1, V2)isNat#(activate(V1))
U105#(tt, V2)isNatIList#(activate(V2))U113#(tt, L, N)activate#(L)
U113#(tt, L, N)isNatKind#(activate(N))U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))activate#(n__length(X))length#(activate(X))
take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)U134#(tt, IL, M, N)activate#(M)
length#(cons(N, L))isNatList#(activate(L))U136#(tt, IL, M, N)activate#(IL)
isNatList#(n__take(V1, V2))activate#(V2)U95#(tt, V2)isNatList#(activate(V2))
U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N)activate#(N)
isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
U132#(tt, IL, M, N)activate#(M)take#(s(M), cons(N, IL))activate#(IL)
isNatIListKind#(n__cons(V1, V2))activate#(V1)isNatKind#(n__s(V1))isNatKind#(activate(V1))
U114#(tt, L)activate#(L)isNat#(n__s(V1))isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2))activate#(V2)U92#(tt, V1, V2)activate#(V1)
activate#(n__s(X))activate#(X)U93#(tt, V1, V2)isNatIListKind#(activate(V2))
isNatKind#(n__length(V1))activate#(V1)U32#(tt, V)isNatList#(activate(V))
isNatKind#(n__s(V1))activate#(V1)U93#(tt, V1, V2)activate#(V1)
U102#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)isNatIListKind#(activate(V2))
U105#(tt, V2)activate#(V2)U131#(tt, IL, M, N)activate#(N)
isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatList#(n__take(V1, V2))isNatKind#(activate(V1))U31#(tt, V)activate#(V)
U132#(tt, IL, M, N)activate#(IL)U131#(tt, IL, M, N)activate#(IL)
U114#(tt, L)length#(activate(L))U91#(tt, V1, V2)activate#(V2)
U122#(tt)nil#U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))
U102#(tt, V1, V2)activate#(V2)U112#(tt, L, N)isNat#(activate(N))
U93#(tt, V1, V2)activate#(V2)U21#(tt, V1)activate#(V1)
U32#(tt, V)activate#(V)U11#(tt, V1)activate#(V1)
U41#(tt, V1, V2)activate#(V2)U11#(tt, V1)isNatIListKind#(activate(V1))
U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))U131#(tt, IL, M, N)activate#(M)
isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))U134#(tt, IL, M, N)activate#(IL)
U113#(tt, L, N)activate#(N)U43#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N)activate#(IL)
activate#(n__take(X1, X2))activate#(X1)U91#(tt, V1, V2)activate#(V1)
U44#(tt, V1, V2)activate#(V2)U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2))activate#(V1)isNat#(n__length(V1))isNatIListKind#(activate(V1))
U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U42#(tt, V1, V2)isNatIListKind#(activate(V2))
take#(0, IL)isNatIList#(IL)U121#(tt, IL)isNatIListKind#(activate(IL))
U136#(tt, IL, M, N)activate#(M)U12#(tt, V1)activate#(V1)
U104#(tt, V1, V2)activate#(V2)U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U21#(tt, V1)isNatKind#(activate(V1))activate#(n__take(X1, X2))take#(activate(X1), activate(X2))
U45#(tt, V2)activate#(V2)U135#(tt, IL, M, N)isNatKind#(activate(N))
U95#(tt, V2)activate#(V2)length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)
U45#(tt, V2)isNatIList#(activate(V2))U135#(tt, IL, M, N)activate#(M)
U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2))activate#(X1)U44#(tt, V1, V2)activate#(V1)
U91#(tt, V1, V2)isNatKind#(activate(V1))U101#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNat#(n__s(V1))activate#(V1)
U41#(tt, V1, V2)isNatKind#(activate(V1))U105#(tt, V2)U106#(isNatIList(activate(V2)))
U134#(tt, IL, M, N)isNat#(activate(N))U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatList#(n__cons(V1, V2))activate#(V2)isNatIList#(V)isNatIListKind#(activate(V))
isNatKind#(n__length(V1))isNatIListKind#(activate(V1))U103#(tt, V1, V2)activate#(V2)
isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))U42#(tt, V1, V2)activate#(V1)
U112#(tt, L, N)activate#(N)U133#(tt, IL, M, N)activate#(IL)
U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))
U112#(tt, L, N)activate#(L)U41#(tt, V1, V2)activate#(V1)
U42#(tt, V1, V2)activate#(V2)U103#(tt, V1, V2)activate#(V1)
U22#(tt, V1)activate#(V1)U92#(tt, V1, V2)activate#(V2)
U12#(tt, V1)isNatList#(activate(V1))U121#(tt, IL)U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))U136#(tt, IL, M, N)activate#(N)
U111#(tt, L, N)activate#(N)isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))U133#(tt, IL, M, N)activate#(M)
U103#(tt, V1, V2)isNatIListKind#(activate(V2))activate#(n__length(X))activate#(X)
U22#(tt, V1)isNat#(activate(V1))U111#(tt, L, N)activate#(L)
U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N)activate#(N)
U51#(tt, V2)isNatIListKind#(activate(V2))U101#(tt, V1, V2)activate#(V2)
U61#(tt, V2)isNatIListKind#(activate(V2))U133#(tt, IL, M, N)isNatKind#(activate(M))
U92#(tt, V1, V2)isNatIListKind#(activate(V2))U132#(tt, IL, M, N)activate#(N)
U135#(tt, IL, M, N)activate#(N)U104#(tt, V1, V2)activate#(V1)
isNatIListKind#(n__take(V1, V2))activate#(V2)isNatIList#(V)activate#(V)
U61#(tt, V2)activate#(V2)activate#(n__take(X1, X2))activate#(X2)
U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))
take#(0, IL)U121#(isNatIList(IL), IL)U131#(tt, IL, M, N)isNatIListKind#(activate(IL))
isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))U94#(tt, V1, V2)isNat#(activate(V1))
U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2)activate#(V1)
U104#(tt, V1, V2)isNat#(activate(V1))U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U114#(tt, L)s#(length(activate(L)))U43#(tt, V1, V2)isNatIListKind#(activate(V2))
U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))activate#(V1)
length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 5

Dependency Pairs

take#(s(M), cons(N, IL))isNatIList#(activate(IL))U132#(tt, IL, M, N)isNat#(activate(M))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
U121#(tt, IL)activate#(IL)U94#(tt, V1, V2)activate#(V1)
U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))U31#(tt, V)isNatIListKind#(activate(V))
U51#(tt, V2)activate#(V2)isNat#(n__length(V1))activate#(V1)
isNatIListKind#(n__cons(V1, V2))activate#(V2)U111#(tt, L, N)isNatIListKind#(activate(L))
length#(nil)0#U44#(tt, V1, V2)isNat#(activate(V1))
U105#(tt, V2)isNatIList#(activate(V2))U113#(tt, L, N)activate#(L)
U113#(tt, L, N)isNatKind#(activate(N))U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))activate#(n__length(X))length#(activate(X))
take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)length#(cons(N, L))isNatList#(activate(L))
U134#(tt, IL, M, N)activate#(M)isNatList#(n__take(V1, V2))activate#(V2)
U136#(tt, IL, M, N)activate#(IL)U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U95#(tt, V2)isNatList#(activate(V2))U134#(tt, IL, M, N)activate#(N)
U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))U132#(tt, IL, M, N)activate#(M)
isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(s(M), cons(N, IL))activate#(IL)
isNatIListKind#(n__cons(V1, V2))activate#(V1)isNatKind#(n__s(V1))isNatKind#(activate(V1))
U114#(tt, L)activate#(L)isNat#(n__s(V1))isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2))activate#(V2)U92#(tt, V1, V2)activate#(V1)
activate#(n__s(X))activate#(X)U93#(tt, V1, V2)isNatIListKind#(activate(V2))
isNatKind#(n__length(V1))activate#(V1)U32#(tt, V)isNatList#(activate(V))
isNatKind#(n__s(V1))activate#(V1)U102#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)isNatIListKind#(activate(V2))
U105#(tt, V2)activate#(V2)isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))
U131#(tt, IL, M, N)activate#(N)isNatList#(n__take(V1, V2))isNatKind#(activate(V1))
U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U31#(tt, V)activate#(V)
U132#(tt, IL, M, N)activate#(IL)U114#(tt, L)length#(activate(L))
U131#(tt, IL, M, N)activate#(IL)U91#(tt, V1, V2)activate#(V2)
U122#(tt)nil#U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))
U102#(tt, V1, V2)activate#(V2)U112#(tt, L, N)isNat#(activate(N))
U93#(tt, V1, V2)activate#(V2)U21#(tt, V1)activate#(V1)
U32#(tt, V)activate#(V)U11#(tt, V1)activate#(V1)
U41#(tt, V1, V2)activate#(V2)U11#(tt, V1)isNatIListKind#(activate(V1))
U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))U131#(tt, IL, M, N)activate#(M)
isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))U134#(tt, IL, M, N)activate#(IL)
U113#(tt, L, N)activate#(N)U43#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N)activate#(IL)
activate#(n__take(X1, X2))activate#(X1)U91#(tt, V1, V2)activate#(V1)
U44#(tt, V1, V2)activate#(V2)U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2))activate#(V1)isNat#(n__length(V1))isNatIListKind#(activate(V1))
U42#(tt, V1, V2)isNatIListKind#(activate(V2))U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
take#(0, IL)isNatIList#(IL)U121#(tt, IL)isNatIListKind#(activate(IL))
U136#(tt, IL, M, N)activate#(M)U104#(tt, V1, V2)activate#(V2)
U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U12#(tt, V1)activate#(V1)
U21#(tt, V1)isNatKind#(activate(V1))activate#(n__take(X1, X2))take#(activate(X1), activate(X2))
U45#(tt, V2)activate#(V2)U135#(tt, IL, M, N)isNatKind#(activate(N))
U95#(tt, V2)activate#(V2)length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)
U45#(tt, V2)isNatIList#(activate(V2))U135#(tt, IL, M, N)activate#(M)
U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2))activate#(X1)U44#(tt, V1, V2)activate#(V1)
U91#(tt, V1, V2)isNatKind#(activate(V1))U101#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U41#(tt, V1, V2)isNatKind#(activate(V1))
U134#(tt, IL, M, N)isNat#(activate(N))isNat#(n__s(V1))activate#(V1)
U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatList#(n__cons(V1, V2))activate#(V2)
isNatIList#(V)isNatIListKind#(activate(V))isNatKind#(n__length(V1))isNatIListKind#(activate(V1))
U103#(tt, V1, V2)activate#(V2)isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))
U42#(tt, V1, V2)activate#(V1)U112#(tt, L, N)activate#(N)
U133#(tt, IL, M, N)activate#(IL)U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))
U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N)activate#(L)
U41#(tt, V1, V2)activate#(V1)U42#(tt, V1, V2)activate#(V2)
U103#(tt, V1, V2)activate#(V1)U22#(tt, V1)activate#(V1)
U92#(tt, V1, V2)activate#(V2)U12#(tt, V1)isNatList#(activate(V1))
U121#(tt, IL)U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))
U136#(tt, IL, M, N)activate#(N)U111#(tt, L, N)activate#(N)
isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))
U133#(tt, IL, M, N)activate#(M)U103#(tt, V1, V2)isNatIListKind#(activate(V2))
activate#(n__length(X))activate#(X)U22#(tt, V1)isNat#(activate(V1))
U111#(tt, L, N)activate#(L)U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N)activate#(N)U51#(tt, V2)isNatIListKind#(activate(V2))
U101#(tt, V1, V2)activate#(V2)U61#(tt, V2)isNatIListKind#(activate(V2))
U133#(tt, IL, M, N)isNatKind#(activate(M))U92#(tt, V1, V2)isNatIListKind#(activate(V2))
U135#(tt, IL, M, N)activate#(N)U132#(tt, IL, M, N)activate#(N)
U104#(tt, V1, V2)activate#(V1)isNatIListKind#(n__take(V1, V2))activate#(V2)
isNatIList#(V)activate#(V)U61#(tt, V2)activate#(V2)
activate#(n__take(X1, X2))activate#(X2)U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(0, IL)U121#(isNatIList(IL), IL)U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))
U131#(tt, IL, M, N)isNatIListKind#(activate(IL))isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))
U94#(tt, V1, V2)isNat#(activate(V1))U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2)activate#(V1)U104#(tt, V1, V2)isNat#(activate(V1))
U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L)s#(length(activate(L)))
U43#(tt, V1, V2)isNatIListKind#(activate(V2))U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))activate#(V1)length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 6

Dependency Pairs

U132#(tt, IL, M, N)isNat#(activate(M))take#(s(M), cons(N, IL))isNatIList#(activate(IL))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U12#(tt, V1)U13#(isNatList(activate(V1)))U94#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))activate#(V1)U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))
isNatIListKind#(n__take(V1, V2))activate#(V1)U94#(tt, V1, V2)activate#(V1)
U121#(tt, IL)activate#(IL)U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))
U31#(tt, V)isNatIListKind#(activate(V))U51#(tt, V2)activate#(V2)
isNat#(n__length(V1))activate#(V1)isNatIListKind#(n__cons(V1, V2))activate#(V2)
length#(nil)0#U111#(tt, L, N)isNatIListKind#(activate(L))
U44#(tt, V1, V2)isNat#(activate(V1))U105#(tt, V2)isNatIList#(activate(V2))
U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U113#(tt, L, N)activate#(L)
U113#(tt, L, N)isNatKind#(activate(N))isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))
activate#(n__length(X))length#(activate(X))take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)
U134#(tt, IL, M, N)activate#(M)length#(cons(N, L))isNatList#(activate(L))
U136#(tt, IL, M, N)activate#(IL)isNatList#(n__take(V1, V2))activate#(V2)
U95#(tt, V2)isNatList#(activate(V2))U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U134#(tt, IL, M, N)activate#(N)U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
U132#(tt, IL, M, N)activate#(M)isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(s(M), cons(N, IL))activate#(IL)isNatIListKind#(n__cons(V1, V2))activate#(V1)
isNatKind#(n__s(V1))isNatKind#(activate(V1))U114#(tt, L)activate#(L)
isNat#(n__s(V1))isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2))activate#(V2)
U92#(tt, V1, V2)activate#(V1)activate#(n__s(X))activate#(X)
U93#(tt, V1, V2)isNatIListKind#(activate(V2))isNatKind#(n__length(V1))activate#(V1)
U32#(tt, V)isNatList#(activate(V))isNatKind#(n__s(V1))activate#(V1)
U93#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)activate#(V1)
U102#(tt, V1, V2)isNatIListKind#(activate(V2))U105#(tt, V2)activate#(V2)
U131#(tt, IL, M, N)activate#(N)isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))
U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatList#(n__take(V1, V2))isNatKind#(activate(V1))
U31#(tt, V)activate#(V)U132#(tt, IL, M, N)activate#(IL)
U131#(tt, IL, M, N)activate#(IL)U114#(tt, L)length#(activate(L))
U91#(tt, V1, V2)activate#(V2)U122#(tt)nil#
U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))U102#(tt, V1, V2)activate#(V2)
U112#(tt, L, N)isNat#(activate(N))U93#(tt, V1, V2)activate#(V2)
U21#(tt, V1)activate#(V1)U32#(tt, V)activate#(V)
U11#(tt, V1)activate#(V1)U41#(tt, V1, V2)activate#(V2)
U11#(tt, V1)isNatIListKind#(activate(V1))U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))
U131#(tt, IL, M, N)activate#(M)isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))
U134#(tt, IL, M, N)activate#(IL)U113#(tt, L, N)activate#(N)
U43#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N)activate#(IL)activate#(n__take(X1, X2))activate#(X1)
U91#(tt, V1, V2)activate#(V1)U44#(tt, V1, V2)activate#(V2)
U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))isNatList#(n__cons(V1, V2))activate#(V1)
isNat#(n__length(V1))isNatIListKind#(activate(V1))U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U42#(tt, V1, V2)isNatIListKind#(activate(V2))take#(0, IL)isNatIList#(IL)
U121#(tt, IL)isNatIListKind#(activate(IL))U136#(tt, IL, M, N)activate#(M)
U104#(tt, V1, V2)activate#(V2)U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U12#(tt, V1)activate#(V1)U21#(tt, V1)isNatKind#(activate(V1))
activate#(n__take(X1, X2))take#(activate(X1), activate(X2))U45#(tt, V2)activate#(V2)
U135#(tt, IL, M, N)isNatKind#(activate(N))U95#(tt, V2)activate#(V2)
length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)U45#(tt, V2)isNatIList#(activate(V2))
U135#(tt, IL, M, N)activate#(M)U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2))activate#(X1)
U44#(tt, V1, V2)activate#(V1)U91#(tt, V1, V2)isNatKind#(activate(V1))
U101#(tt, V1, V2)activate#(V1)U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U41#(tt, V1, V2)isNatKind#(activate(V1))U105#(tt, V2)U106#(isNatIList(activate(V2)))
U134#(tt, IL, M, N)isNat#(activate(N))isNat#(n__s(V1))activate#(V1)
U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatList#(n__cons(V1, V2))activate#(V2)
isNatIList#(V)isNatIListKind#(activate(V))isNatKind#(n__length(V1))isNatIListKind#(activate(V1))
U103#(tt, V1, V2)activate#(V2)isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))
U42#(tt, V1, V2)activate#(V1)U112#(tt, L, N)activate#(N)
U133#(tt, IL, M, N)activate#(IL)U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))U112#(tt, L, N)activate#(L)
U41#(tt, V1, V2)activate#(V1)U42#(tt, V1, V2)activate#(V2)
U103#(tt, V1, V2)activate#(V1)U22#(tt, V1)activate#(V1)
U92#(tt, V1, V2)activate#(V2)U12#(tt, V1)isNatList#(activate(V1))
U121#(tt, IL)U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))
U136#(tt, IL, M, N)activate#(N)U111#(tt, L, N)activate#(N)
isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))
U133#(tt, IL, M, N)activate#(M)U103#(tt, V1, V2)isNatIListKind#(activate(V2))
activate#(n__length(X))activate#(X)U22#(tt, V1)isNat#(activate(V1))
U111#(tt, L, N)activate#(L)U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N)activate#(N)U51#(tt, V2)isNatIListKind#(activate(V2))
U101#(tt, V1, V2)activate#(V2)U61#(tt, V2)isNatIListKind#(activate(V2))
U92#(tt, V1, V2)isNatIListKind#(activate(V2))U133#(tt, IL, M, N)isNatKind#(activate(M))
U135#(tt, IL, M, N)activate#(N)U132#(tt, IL, M, N)activate#(N)
U104#(tt, V1, V2)activate#(V1)isNatIListKind#(n__take(V1, V2))activate#(V2)
isNatIList#(V)activate#(V)U61#(tt, V2)activate#(V2)
activate#(n__take(X1, X2))activate#(X2)U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))take#(0, IL)U121#(isNatIList(IL), IL)
U131#(tt, IL, M, N)isNatIListKind#(activate(IL))isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))
U94#(tt, V1, V2)isNat#(activate(V1))U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2)activate#(V1)U104#(tt, V1, V2)isNat#(activate(V1))
U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L)s#(length(activate(L)))
U43#(tt, V1, V2)isNatIListKind#(activate(V2))U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))activate#(V1)length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 7

Dependency Pairs

U132#(tt, IL, M, N)isNat#(activate(M))take#(s(M), cons(N, IL))isNatIList#(activate(IL))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U12#(tt, V1)U13#(isNatList(activate(V1)))U94#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))activate#(V1)U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))
isNatIListKind#(n__take(V1, V2))activate#(V1)U121#(tt, IL)activate#(IL)
U94#(tt, V1, V2)activate#(V1)U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))
U31#(tt, V)isNatIListKind#(activate(V))U51#(tt, V2)activate#(V2)
isNat#(n__length(V1))activate#(V1)isNatIListKind#(n__cons(V1, V2))activate#(V2)
U111#(tt, L, N)isNatIListKind#(activate(L))U44#(tt, V1, V2)isNat#(activate(V1))
U105#(tt, V2)isNatIList#(activate(V2))U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U113#(tt, L, N)activate#(L)U113#(tt, L, N)isNatKind#(activate(N))
isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))activate#(n__length(X))length#(activate(X))
take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)length#(cons(N, L))isNatList#(activate(L))
U134#(tt, IL, M, N)activate#(M)isNatList#(n__take(V1, V2))activate#(V2)
U136#(tt, IL, M, N)activate#(IL)U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U95#(tt, V2)isNatList#(activate(V2))U134#(tt, IL, M, N)activate#(N)
isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
U132#(tt, IL, M, N)activate#(M)take#(s(M), cons(N, IL))activate#(IL)
isNatIListKind#(n__cons(V1, V2))activate#(V1)isNatKind#(n__s(V1))isNatKind#(activate(V1))
U114#(tt, L)activate#(L)isNat#(n__s(V1))isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2))activate#(V2)U92#(tt, V1, V2)activate#(V1)
activate#(n__s(X))activate#(X)U93#(tt, V1, V2)isNatIListKind#(activate(V2))
isNatKind#(n__length(V1))activate#(V1)U32#(tt, V)isNatList#(activate(V))
isNatKind#(n__s(V1))activate#(V1)U102#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)isNatIListKind#(activate(V2))
U105#(tt, V2)activate#(V2)isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))
U131#(tt, IL, M, N)activate#(N)U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatList#(n__take(V1, V2))isNatKind#(activate(V1))U31#(tt, V)activate#(V)
U132#(tt, IL, M, N)activate#(IL)U131#(tt, IL, M, N)activate#(IL)
U114#(tt, L)length#(activate(L))U91#(tt, V1, V2)activate#(V2)
U122#(tt)nil#U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))
U102#(tt, V1, V2)activate#(V2)U112#(tt, L, N)isNat#(activate(N))
U93#(tt, V1, V2)activate#(V2)U21#(tt, V1)activate#(V1)
U32#(tt, V)activate#(V)U11#(tt, V1)activate#(V1)
U41#(tt, V1, V2)activate#(V2)U95#(tt, V2)U96#(isNatList(activate(V2)))
U11#(tt, V1)isNatIListKind#(activate(V1))U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))
U131#(tt, IL, M, N)activate#(M)isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))
U134#(tt, IL, M, N)activate#(IL)U113#(tt, L, N)activate#(N)
U43#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N)activate#(IL)activate#(n__take(X1, X2))activate#(X1)
U91#(tt, V1, V2)activate#(V1)U44#(tt, V1, V2)activate#(V2)
U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))isNatList#(n__cons(V1, V2))activate#(V1)
isNat#(n__length(V1))isNatIListKind#(activate(V1))U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U42#(tt, V1, V2)isNatIListKind#(activate(V2))take#(0, IL)isNatIList#(IL)
U121#(tt, IL)isNatIListKind#(activate(IL))U136#(tt, IL, M, N)activate#(M)
U104#(tt, V1, V2)activate#(V2)U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U12#(tt, V1)activate#(V1)U21#(tt, V1)isNatKind#(activate(V1))
activate#(n__take(X1, X2))take#(activate(X1), activate(X2))U45#(tt, V2)activate#(V2)
U135#(tt, IL, M, N)isNatKind#(activate(N))U95#(tt, V2)activate#(V2)
length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)U45#(tt, V2)isNatIList#(activate(V2))
U135#(tt, IL, M, N)activate#(M)U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2))activate#(X1)
U44#(tt, V1, V2)activate#(V1)U91#(tt, V1, V2)isNatKind#(activate(V1))
U101#(tt, V1, V2)activate#(V1)U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U41#(tt, V1, V2)isNatKind#(activate(V1))U105#(tt, V2)U106#(isNatIList(activate(V2)))
U134#(tt, IL, M, N)isNat#(activate(N))isNat#(n__s(V1))activate#(V1)
U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatList#(n__cons(V1, V2))activate#(V2)
isNatIList#(V)isNatIListKind#(activate(V))isNatKind#(n__length(V1))isNatIListKind#(activate(V1))
U103#(tt, V1, V2)activate#(V2)isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))
U42#(tt, V1, V2)activate#(V1)U112#(tt, L, N)activate#(N)
U133#(tt, IL, M, N)activate#(IL)U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))U112#(tt, L, N)activate#(L)
U41#(tt, V1, V2)activate#(V1)U42#(tt, V1, V2)activate#(V2)
U103#(tt, V1, V2)activate#(V1)U22#(tt, V1)activate#(V1)
U92#(tt, V1, V2)activate#(V2)U12#(tt, V1)isNatList#(activate(V1))
U121#(tt, IL)U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))
U136#(tt, IL, M, N)activate#(N)U111#(tt, L, N)activate#(N)
isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))
U133#(tt, IL, M, N)activate#(M)U103#(tt, V1, V2)isNatIListKind#(activate(V2))
activate#(n__length(X))activate#(X)U22#(tt, V1)isNat#(activate(V1))
U111#(tt, L, N)activate#(L)U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N)activate#(N)U51#(tt, V2)isNatIListKind#(activate(V2))
U101#(tt, V1, V2)activate#(V2)U61#(tt, V2)isNatIListKind#(activate(V2))
U133#(tt, IL, M, N)isNatKind#(activate(M))U92#(tt, V1, V2)isNatIListKind#(activate(V2))
U132#(tt, IL, M, N)activate#(N)U135#(tt, IL, M, N)activate#(N)
U104#(tt, V1, V2)activate#(V1)isNatIListKind#(n__take(V1, V2))activate#(V2)
isNatIList#(V)activate#(V)U61#(tt, V2)activate#(V2)
activate#(n__take(X1, X2))activate#(X2)U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(0, IL)U121#(isNatIList(IL), IL)U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))
U131#(tt, IL, M, N)isNatIListKind#(activate(IL))isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))
U94#(tt, V1, V2)isNat#(activate(V1))U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2)activate#(V1)U104#(tt, V1, V2)isNat#(activate(V1))
U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))U43#(tt, V1, V2)isNatIListKind#(activate(V2))
U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))activate#(V1)
length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 8

Dependency Pairs

U132#(tt, IL, M, N)isNat#(activate(M))take#(s(M), cons(N, IL))isNatIList#(activate(IL))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U12#(tt, V1)U13#(isNatList(activate(V1)))U94#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))activate#(V1)U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))
isNatIListKind#(n__take(V1, V2))activate#(V1)U121#(tt, IL)activate#(IL)
U94#(tt, V1, V2)activate#(V1)U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))
U31#(tt, V)isNatIListKind#(activate(V))U51#(tt, V2)activate#(V2)
isNat#(n__length(V1))activate#(V1)isNatIListKind#(n__cons(V1, V2))activate#(V2)
length#(nil)0#U111#(tt, L, N)isNatIListKind#(activate(L))
U44#(tt, V1, V2)isNat#(activate(V1))U105#(tt, V2)isNatIList#(activate(V2))
U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U113#(tt, L, N)activate#(L)
U113#(tt, L, N)isNatKind#(activate(N))isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))
activate#(n__length(X))length#(activate(X))take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)
U134#(tt, IL, M, N)activate#(M)length#(cons(N, L))isNatList#(activate(L))
isNatList#(n__take(V1, V2))activate#(V2)U136#(tt, IL, M, N)activate#(IL)
U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U95#(tt, V2)isNatList#(activate(V2))
U134#(tt, IL, M, N)activate#(N)isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))U132#(tt, IL, M, N)activate#(M)
take#(s(M), cons(N, IL))activate#(IL)isNatIListKind#(n__cons(V1, V2))activate#(V1)
isNatKind#(n__s(V1))isNatKind#(activate(V1))U114#(tt, L)activate#(L)
isNat#(n__s(V1))isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2))activate#(V2)
U92#(tt, V1, V2)activate#(V1)activate#(n__s(X))activate#(X)
U93#(tt, V1, V2)isNatIListKind#(activate(V2))isNatKind#(n__length(V1))activate#(V1)
U32#(tt, V)isNatList#(activate(V))isNatKind#(n__s(V1))activate#(V1)
U102#(tt, V1, V2)activate#(V1)U93#(tt, V1, V2)activate#(V1)
U102#(tt, V1, V2)isNatIListKind#(activate(V2))U105#(tt, V2)activate#(V2)
isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))U131#(tt, IL, M, N)activate#(N)
U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatList#(n__take(V1, V2))isNatKind#(activate(V1))
U31#(tt, V)activate#(V)U132#(tt, IL, M, N)activate#(IL)
U114#(tt, L)length#(activate(L))U131#(tt, IL, M, N)activate#(IL)
U91#(tt, V1, V2)activate#(V2)U122#(tt)nil#
U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))U102#(tt, V1, V2)activate#(V2)
U112#(tt, L, N)isNat#(activate(N))U93#(tt, V1, V2)activate#(V2)
U21#(tt, V1)activate#(V1)U32#(tt, V)activate#(V)
U11#(tt, V1)activate#(V1)U41#(tt, V1, V2)activate#(V2)
U95#(tt, V2)U96#(isNatList(activate(V2)))U11#(tt, V1)isNatIListKind#(activate(V1))
U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))U131#(tt, IL, M, N)activate#(M)
isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))U134#(tt, IL, M, N)activate#(IL)
U113#(tt, L, N)activate#(N)U43#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N)activate#(IL)
activate#(n__take(X1, X2))activate#(X1)U91#(tt, V1, V2)activate#(V1)
U44#(tt, V1, V2)activate#(V2)U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2))activate#(V1)isNat#(n__length(V1))isNatIListKind#(activate(V1))
U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U42#(tt, V1, V2)isNatIListKind#(activate(V2))
take#(0, IL)isNatIList#(IL)U121#(tt, IL)isNatIListKind#(activate(IL))
U136#(tt, IL, M, N)activate#(M)U104#(tt, V1, V2)activate#(V2)
U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U12#(tt, V1)activate#(V1)
U21#(tt, V1)isNatKind#(activate(V1))activate#(n__take(X1, X2))take#(activate(X1), activate(X2))
U45#(tt, V2)activate#(V2)U135#(tt, IL, M, N)isNatKind#(activate(N))
U95#(tt, V2)activate#(V2)length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)
U45#(tt, V2)isNatIList#(activate(V2))U135#(tt, IL, M, N)activate#(M)
U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2))activate#(X1)U44#(tt, V1, V2)activate#(V1)
U91#(tt, V1, V2)isNatKind#(activate(V1))U101#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U41#(tt, V1, V2)isNatKind#(activate(V1))
U105#(tt, V2)U106#(isNatIList(activate(V2)))U134#(tt, IL, M, N)isNat#(activate(N))
isNat#(n__s(V1))activate#(V1)U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatList#(n__cons(V1, V2))activate#(V2)isNatIList#(V)isNatIListKind#(activate(V))
isNatKind#(n__length(V1))isNatIListKind#(activate(V1))U103#(tt, V1, V2)activate#(V2)
isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))U42#(tt, V1, V2)activate#(V1)
U112#(tt, L, N)activate#(N)U133#(tt, IL, M, N)activate#(IL)
U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))
U112#(tt, L, N)activate#(L)U41#(tt, V1, V2)activate#(V1)
U42#(tt, V1, V2)activate#(V2)U103#(tt, V1, V2)activate#(V1)
U22#(tt, V1)activate#(V1)U92#(tt, V1, V2)activate#(V2)
U12#(tt, V1)isNatList#(activate(V1))U121#(tt, IL)U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))U136#(tt, IL, M, N)activate#(N)
U111#(tt, L, N)activate#(N)isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))U133#(tt, IL, M, N)activate#(M)
U103#(tt, V1, V2)isNatIListKind#(activate(V2))activate#(n__length(X))activate#(X)
U22#(tt, V1)isNat#(activate(V1))U111#(tt, L, N)activate#(L)
U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N)activate#(N)
U51#(tt, V2)isNatIListKind#(activate(V2))U101#(tt, V1, V2)activate#(V2)
U61#(tt, V2)isNatIListKind#(activate(V2))U133#(tt, IL, M, N)isNatKind#(activate(M))
U92#(tt, V1, V2)isNatIListKind#(activate(V2))U132#(tt, IL, M, N)activate#(N)
U135#(tt, IL, M, N)activate#(N)U104#(tt, V1, V2)activate#(V1)
isNatIListKind#(n__take(V1, V2))activate#(V2)isNatIList#(V)activate#(V)
U61#(tt, V2)activate#(V2)activate#(n__take(X1, X2))activate#(X2)
U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(0, IL)U121#(isNatIList(IL), IL)
U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))U131#(tt, IL, M, N)isNatIListKind#(activate(IL))
isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))U94#(tt, V1, V2)isNat#(activate(V1))
U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2)activate#(V1)
U104#(tt, V1, V2)isNat#(activate(V1))U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U43#(tt, V1, V2)isNatIListKind#(activate(V2))U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))activate#(V1)length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 9

Dependency Pairs

U132#(tt, IL, M, N)isNat#(activate(M))take#(s(M), cons(N, IL))isNatIList#(activate(IL))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
U94#(tt, V1, V2)activate#(V1)U121#(tt, IL)activate#(IL)
U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))U31#(tt, V)isNatIListKind#(activate(V))
U51#(tt, V2)activate#(V2)isNat#(n__length(V1))activate#(V1)
isNatIListKind#(n__cons(V1, V2))activate#(V2)length#(nil)0#
U111#(tt, L, N)isNatIListKind#(activate(L))U44#(tt, V1, V2)isNat#(activate(V1))
U105#(tt, V2)isNatIList#(activate(V2))U113#(tt, L, N)activate#(L)
U113#(tt, L, N)isNatKind#(activate(N))U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))activate#(n__length(X))length#(activate(X))
take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)U134#(tt, IL, M, N)activate#(M)
length#(cons(N, L))isNatList#(activate(L))U136#(tt, IL, M, N)activate#(IL)
isNatList#(n__take(V1, V2))activate#(V2)U95#(tt, V2)isNatList#(activate(V2))
U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N)activate#(N)
isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
U132#(tt, IL, M, N)activate#(M)take#(s(M), cons(N, IL))activate#(IL)
isNatIListKind#(n__cons(V1, V2))activate#(V1)isNatKind#(n__s(V1))isNatKind#(activate(V1))
U114#(tt, L)activate#(L)isNat#(n__s(V1))isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2))activate#(V2)U92#(tt, V1, V2)activate#(V1)
activate#(n__s(X))activate#(X)U93#(tt, V1, V2)isNatIListKind#(activate(V2))
isNatKind#(n__length(V1))activate#(V1)U32#(tt, V)isNatList#(activate(V))
isNatKind#(n__s(V1))activate#(V1)U93#(tt, V1, V2)activate#(V1)
U102#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)isNatIListKind#(activate(V2))
U105#(tt, V2)activate#(V2)U131#(tt, IL, M, N)activate#(N)
isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatList#(n__take(V1, V2))isNatKind#(activate(V1))U31#(tt, V)activate#(V)
U132#(tt, IL, M, N)activate#(IL)U131#(tt, IL, M, N)activate#(IL)
U114#(tt, L)length#(activate(L))U91#(tt, V1, V2)activate#(V2)
U122#(tt)nil#U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))
U102#(tt, V1, V2)activate#(V2)U112#(tt, L, N)isNat#(activate(N))
U93#(tt, V1, V2)activate#(V2)U21#(tt, V1)activate#(V1)
U32#(tt, V)activate#(V)U11#(tt, V1)activate#(V1)
U41#(tt, V1, V2)activate#(V2)U11#(tt, V1)isNatIListKind#(activate(V1))
U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))U131#(tt, IL, M, N)activate#(M)
isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))U134#(tt, IL, M, N)activate#(IL)
U113#(tt, L, N)activate#(N)U43#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N)activate#(IL)
activate#(n__take(X1, X2))activate#(X1)U91#(tt, V1, V2)activate#(V1)
U44#(tt, V1, V2)activate#(V2)U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2))activate#(V1)isNat#(n__length(V1))isNatIListKind#(activate(V1))
U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U42#(tt, V1, V2)isNatIListKind#(activate(V2))
take#(0, IL)isNatIList#(IL)U121#(tt, IL)isNatIListKind#(activate(IL))
U136#(tt, IL, M, N)activate#(M)U12#(tt, V1)activate#(V1)
U104#(tt, V1, V2)activate#(V2)U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U21#(tt, V1)isNatKind#(activate(V1))activate#(n__take(X1, X2))take#(activate(X1), activate(X2))
U45#(tt, V2)activate#(V2)U135#(tt, IL, M, N)isNatKind#(activate(N))
U95#(tt, V2)activate#(V2)length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)
U45#(tt, V2)isNatIList#(activate(V2))U135#(tt, IL, M, N)activate#(M)
U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2))activate#(X1)U44#(tt, V1, V2)activate#(V1)
U91#(tt, V1, V2)isNatKind#(activate(V1))U101#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U41#(tt, V1, V2)isNatKind#(activate(V1))
U105#(tt, V2)U106#(isNatIList(activate(V2)))U134#(tt, IL, M, N)isNat#(activate(N))
isNat#(n__s(V1))activate#(V1)U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatList#(n__cons(V1, V2))activate#(V2)isNatIList#(V)isNatIListKind#(activate(V))
isNatKind#(n__length(V1))isNatIListKind#(activate(V1))U103#(tt, V1, V2)activate#(V2)
isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))U42#(tt, V1, V2)activate#(V1)
U112#(tt, L, N)activate#(N)U133#(tt, IL, M, N)activate#(IL)
U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))
U112#(tt, L, N)activate#(L)U41#(tt, V1, V2)activate#(V1)
U42#(tt, V1, V2)activate#(V2)U103#(tt, V1, V2)activate#(V1)
U22#(tt, V1)activate#(V1)U92#(tt, V1, V2)activate#(V2)
U12#(tt, V1)isNatList#(activate(V1))U121#(tt, IL)U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))U136#(tt, IL, M, N)activate#(N)
U22#(tt, V1)U23#(isNat(activate(V1)))U111#(tt, L, N)activate#(N)
isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))
U133#(tt, IL, M, N)activate#(M)U103#(tt, V1, V2)isNatIListKind#(activate(V2))
activate#(n__length(X))activate#(X)U22#(tt, V1)isNat#(activate(V1))
U111#(tt, L, N)activate#(L)U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N)activate#(N)U51#(tt, V2)isNatIListKind#(activate(V2))
U101#(tt, V1, V2)activate#(V2)U61#(tt, V2)isNatIListKind#(activate(V2))
U133#(tt, IL, M, N)isNatKind#(activate(M))U92#(tt, V1, V2)isNatIListKind#(activate(V2))
U135#(tt, IL, M, N)activate#(N)U132#(tt, IL, M, N)activate#(N)
U104#(tt, V1, V2)activate#(V1)isNatIListKind#(n__take(V1, V2))activate#(V2)
isNatIList#(V)activate#(V)U61#(tt, V2)activate#(V2)
activate#(n__take(X1, X2))activate#(X2)U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))take#(0, IL)U121#(isNatIList(IL), IL)
U131#(tt, IL, M, N)isNatIListKind#(activate(IL))isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))
U94#(tt, V1, V2)isNat#(activate(V1))U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2)activate#(V1)U104#(tt, V1, V2)isNat#(activate(V1))
U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L)s#(length(activate(L)))
U43#(tt, V1, V2)isNatIListKind#(activate(V2))U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))activate#(V1)length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 10

Dependency Pairs

take#(s(M), cons(N, IL))isNatIList#(activate(IL))U132#(tt, IL, M, N)isNat#(activate(M))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
U121#(tt, IL)activate#(IL)U94#(tt, V1, V2)activate#(V1)
U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))U31#(tt, V)isNatIListKind#(activate(V))
U51#(tt, V2)activate#(V2)isNat#(n__length(V1))activate#(V1)
isNatIListKind#(n__cons(V1, V2))activate#(V2)length#(nil)0#
U111#(tt, L, N)isNatIListKind#(activate(L))U44#(tt, V1, V2)isNat#(activate(V1))
U105#(tt, V2)isNatIList#(activate(V2))U113#(tt, L, N)isNatKind#(activate(N))
U113#(tt, L, N)activate#(L)U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))activate#(n__length(X))length#(activate(X))
take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)length#(cons(N, L))isNatList#(activate(L))
U134#(tt, IL, M, N)activate#(M)isNatList#(n__take(V1, V2))activate#(V2)
U136#(tt, IL, M, N)activate#(IL)U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U95#(tt, V2)isNatList#(activate(V2))U134#(tt, IL, M, N)activate#(N)
U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))U132#(tt, IL, M, N)activate#(M)
isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(s(M), cons(N, IL))activate#(IL)
isNatIListKind#(n__cons(V1, V2))activate#(V1)isNatKind#(n__s(V1))isNatKind#(activate(V1))
U114#(tt, L)activate#(L)isNat#(n__s(V1))isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2))activate#(V2)U92#(tt, V1, V2)activate#(V1)
activate#(n__s(X))activate#(X)U93#(tt, V1, V2)isNatIListKind#(activate(V2))
isNatKind#(n__length(V1))activate#(V1)U32#(tt, V)isNatList#(activate(V))
isNatKind#(n__s(V1))activate#(V1)U102#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)isNatIListKind#(activate(V2))
U105#(tt, V2)activate#(V2)isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))
U131#(tt, IL, M, N)activate#(N)U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatList#(n__take(V1, V2))isNatKind#(activate(V1))U31#(tt, V)activate#(V)
U132#(tt, IL, M, N)activate#(IL)U114#(tt, L)length#(activate(L))
U131#(tt, IL, M, N)activate#(IL)U91#(tt, V1, V2)activate#(V2)
U122#(tt)nil#U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))
U102#(tt, V1, V2)activate#(V2)U112#(tt, L, N)isNat#(activate(N))
U93#(tt, V1, V2)activate#(V2)U21#(tt, V1)activate#(V1)
U32#(tt, V)activate#(V)U11#(tt, V1)activate#(V1)
U41#(tt, V1, V2)activate#(V2)U11#(tt, V1)isNatIListKind#(activate(V1))
U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))U131#(tt, IL, M, N)activate#(M)
isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))U134#(tt, IL, M, N)activate#(IL)
U113#(tt, L, N)activate#(N)U43#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N)activate#(IL)
activate#(n__take(X1, X2))activate#(X1)U91#(tt, V1, V2)activate#(V1)
U44#(tt, V1, V2)activate#(V2)U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2))activate#(V1)isNat#(n__length(V1))isNatIListKind#(activate(V1))
U42#(tt, V1, V2)isNatIListKind#(activate(V2))U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
take#(0, IL)isNatIList#(IL)U121#(tt, IL)isNatIListKind#(activate(IL))
U136#(tt, IL, M, N)activate#(M)U104#(tt, V1, V2)activate#(V2)
U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U12#(tt, V1)activate#(V1)
U21#(tt, V1)isNatKind#(activate(V1))activate#(n__take(X1, X2))take#(activate(X1), activate(X2))
U45#(tt, V2)activate#(V2)U135#(tt, IL, M, N)isNatKind#(activate(N))
U95#(tt, V2)activate#(V2)length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)
U45#(tt, V2)isNatIList#(activate(V2))U135#(tt, IL, M, N)activate#(M)
U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2))activate#(X1)U44#(tt, V1, V2)activate#(V1)
U91#(tt, V1, V2)isNatKind#(activate(V1))U101#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U41#(tt, V1, V2)isNatKind#(activate(V1))
U134#(tt, IL, M, N)isNat#(activate(N))isNat#(n__s(V1))activate#(V1)
U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatList#(n__cons(V1, V2))activate#(V2)
isNatIList#(V)isNatIListKind#(activate(V))isNatKind#(n__length(V1))isNatIListKind#(activate(V1))
U103#(tt, V1, V2)activate#(V2)isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))
U42#(tt, V1, V2)activate#(V1)U112#(tt, L, N)activate#(N)
U133#(tt, IL, M, N)activate#(IL)U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))
U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N)activate#(L)
U41#(tt, V1, V2)activate#(V1)U42#(tt, V1, V2)activate#(V2)
U103#(tt, V1, V2)activate#(V1)U22#(tt, V1)activate#(V1)
U92#(tt, V1, V2)activate#(V2)U12#(tt, V1)isNatList#(activate(V1))
U121#(tt, IL)U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))
U136#(tt, IL, M, N)activate#(N)U111#(tt, L, N)activate#(N)
isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))
U133#(tt, IL, M, N)activate#(M)U103#(tt, V1, V2)isNatIListKind#(activate(V2))
activate#(n__length(X))activate#(X)U22#(tt, V1)isNat#(activate(V1))
U45#(tt, V2)U46#(isNatIList(activate(V2)))U111#(tt, L, N)activate#(L)
U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N)activate#(N)
U51#(tt, V2)isNatIListKind#(activate(V2))U101#(tt, V1, V2)activate#(V2)
U61#(tt, V2)isNatIListKind#(activate(V2))U133#(tt, IL, M, N)isNatKind#(activate(M))
U92#(tt, V1, V2)isNatIListKind#(activate(V2))U135#(tt, IL, M, N)activate#(N)
U132#(tt, IL, M, N)activate#(N)U104#(tt, V1, V2)activate#(V1)
isNatIListKind#(n__take(V1, V2))activate#(V2)isNatIList#(V)activate#(V)
U61#(tt, V2)activate#(V2)activate#(n__take(X1, X2))activate#(X2)
U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(0, IL)U121#(isNatIList(IL), IL)
U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))U131#(tt, IL, M, N)isNatIListKind#(activate(IL))
isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))U94#(tt, V1, V2)isNat#(activate(V1))
U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2)activate#(V1)
U104#(tt, V1, V2)isNat#(activate(V1))U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U114#(tt, L)s#(length(activate(L)))U43#(tt, V1, V2)isNatIListKind#(activate(V2))
U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))activate#(V1)
length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 11

Dependency Pairs

take#(s(M), cons(N, IL))isNatIList#(activate(IL))U132#(tt, IL, M, N)isNat#(activate(M))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
U121#(tt, IL)activate#(IL)U94#(tt, V1, V2)activate#(V1)
U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))U31#(tt, V)isNatIListKind#(activate(V))
U51#(tt, V2)activate#(V2)isNat#(n__length(V1))activate#(V1)
isNatIListKind#(n__cons(V1, V2))activate#(V2)U111#(tt, L, N)isNatIListKind#(activate(L))
U44#(tt, V1, V2)isNat#(activate(V1))U105#(tt, V2)isNatIList#(activate(V2))
U113#(tt, L, N)activate#(L)U113#(tt, L, N)isNatKind#(activate(N))
U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))
activate#(n__length(X))length#(activate(X))take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)
U134#(tt, IL, M, N)activate#(M)length#(cons(N, L))isNatList#(activate(L))
U136#(tt, IL, M, N)activate#(IL)isNatList#(n__take(V1, V2))activate#(V2)
U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U95#(tt, V2)isNatList#(activate(V2))
U134#(tt, IL, M, N)activate#(N)isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))U132#(tt, IL, M, N)activate#(M)
take#(s(M), cons(N, IL))activate#(IL)isNatIListKind#(n__cons(V1, V2))activate#(V1)
isNatKind#(n__s(V1))isNatKind#(activate(V1))U114#(tt, L)activate#(L)
isNat#(n__s(V1))isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2))activate#(V2)
U92#(tt, V1, V2)activate#(V1)activate#(n__s(X))activate#(X)
U93#(tt, V1, V2)isNatIListKind#(activate(V2))isNatKind#(n__length(V1))activate#(V1)
U32#(tt, V)isNatList#(activate(V))isNatKind#(n__s(V1))activate#(V1)
U93#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)activate#(V1)
U102#(tt, V1, V2)isNatIListKind#(activate(V2))U105#(tt, V2)activate#(V2)
U131#(tt, IL, M, N)activate#(N)isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))
U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatList#(n__take(V1, V2))isNatKind#(activate(V1))
U31#(tt, V)activate#(V)U132#(tt, IL, M, N)activate#(IL)
U114#(tt, L)length#(activate(L))U131#(tt, IL, M, N)activate#(IL)
U91#(tt, V1, V2)activate#(V2)U122#(tt)nil#
U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))U102#(tt, V1, V2)activate#(V2)
U112#(tt, L, N)isNat#(activate(N))U93#(tt, V1, V2)activate#(V2)
U21#(tt, V1)activate#(V1)U32#(tt, V)activate#(V)
U11#(tt, V1)activate#(V1)U41#(tt, V1, V2)activate#(V2)
U11#(tt, V1)isNatIListKind#(activate(V1))U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))
U131#(tt, IL, M, N)activate#(M)isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))
U134#(tt, IL, M, N)activate#(IL)U113#(tt, L, N)activate#(N)
U43#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N)activate#(IL)activate#(n__take(X1, X2))activate#(X1)
U91#(tt, V1, V2)activate#(V1)U44#(tt, V1, V2)activate#(V2)
U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))isNatList#(n__cons(V1, V2))activate#(V1)
isNat#(n__length(V1))isNatIListKind#(activate(V1))U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U42#(tt, V1, V2)isNatIListKind#(activate(V2))take#(0, IL)isNatIList#(IL)
U121#(tt, IL)isNatIListKind#(activate(IL))U136#(tt, IL, M, N)activate#(M)
U12#(tt, V1)activate#(V1)U104#(tt, V1, V2)activate#(V2)
U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U21#(tt, V1)isNatKind#(activate(V1))
activate#(n__take(X1, X2))take#(activate(X1), activate(X2))U45#(tt, V2)activate#(V2)
U135#(tt, IL, M, N)isNatKind#(activate(N))U95#(tt, V2)activate#(V2)
length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)U45#(tt, V2)isNatIList#(activate(V2))
U135#(tt, IL, M, N)activate#(M)U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2))activate#(X1)
U44#(tt, V1, V2)activate#(V1)U91#(tt, V1, V2)isNatKind#(activate(V1))
U101#(tt, V1, V2)activate#(V1)U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U41#(tt, V1, V2)isNatKind#(activate(V1))U105#(tt, V2)U106#(isNatIList(activate(V2)))
U134#(tt, IL, M, N)isNat#(activate(N))isNat#(n__s(V1))activate#(V1)
U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatList#(n__cons(V1, V2))activate#(V2)
isNatIList#(V)isNatIListKind#(activate(V))isNatKind#(n__length(V1))isNatIListKind#(activate(V1))
U103#(tt, V1, V2)activate#(V2)isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))
U42#(tt, V1, V2)activate#(V1)U112#(tt, L, N)activate#(N)
U133#(tt, IL, M, N)activate#(IL)U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))U112#(tt, L, N)activate#(L)
U41#(tt, V1, V2)activate#(V1)U42#(tt, V1, V2)activate#(V2)
U103#(tt, V1, V2)activate#(V1)U22#(tt, V1)activate#(V1)
U92#(tt, V1, V2)activate#(V2)U12#(tt, V1)isNatList#(activate(V1))
U121#(tt, IL)U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))
U136#(tt, IL, M, N)activate#(N)U111#(tt, L, N)activate#(N)
isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))
U133#(tt, IL, M, N)activate#(M)U103#(tt, V1, V2)isNatIListKind#(activate(V2))
activate#(n__length(X))activate#(X)U22#(tt, V1)isNat#(activate(V1))
U111#(tt, L, N)activate#(L)U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N)activate#(N)U51#(tt, V2)isNatIListKind#(activate(V2))
U101#(tt, V1, V2)activate#(V2)U61#(tt, V2)isNatIListKind#(activate(V2))
U133#(tt, IL, M, N)isNatKind#(activate(M))U92#(tt, V1, V2)isNatIListKind#(activate(V2))
U135#(tt, IL, M, N)activate#(N)U132#(tt, IL, M, N)activate#(N)
U104#(tt, V1, V2)activate#(V1)isNatIListKind#(n__take(V1, V2))activate#(V2)
isNatIList#(V)activate#(V)U61#(tt, V2)activate#(V2)
activate#(n__take(X1, X2))activate#(X2)U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(0, IL)U121#(isNatIList(IL), IL)U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))
U131#(tt, IL, M, N)isNatIListKind#(activate(IL))isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))
U94#(tt, V1, V2)isNat#(activate(V1))U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2)activate#(V1)U104#(tt, V1, V2)isNat#(activate(V1))
U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L)s#(length(activate(L)))
U43#(tt, V1, V2)isNatIListKind#(activate(V2))U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))activate#(V1)length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 12

Dependency Pairs

take#(s(M), cons(N, IL))isNatIList#(activate(IL))U132#(tt, IL, M, N)isNat#(activate(M))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
U94#(tt, V1, V2)activate#(V1)U121#(tt, IL)activate#(IL)
U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))U31#(tt, V)isNatIListKind#(activate(V))
U51#(tt, V2)activate#(V2)isNat#(n__length(V1))activate#(V1)
isNatIListKind#(n__cons(V1, V2))activate#(V2)U111#(tt, L, N)isNatIListKind#(activate(L))
U44#(tt, V1, V2)isNat#(activate(V1))U105#(tt, V2)isNatIList#(activate(V2))
U113#(tt, L, N)isNatKind#(activate(N))U113#(tt, L, N)activate#(L)
U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))
activate#(n__length(X))length#(activate(X))take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)
U134#(tt, IL, M, N)activate#(M)length#(cons(N, L))isNatList#(activate(L))
U136#(tt, IL, M, N)activate#(IL)isNatList#(n__take(V1, V2))activate#(V2)
U95#(tt, V2)isNatList#(activate(V2))U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U134#(tt, IL, M, N)activate#(N)U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
U132#(tt, IL, M, N)activate#(M)isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(s(M), cons(N, IL))activate#(IL)isNatIListKind#(n__cons(V1, V2))activate#(V1)
isNatKind#(n__s(V1))isNatKind#(activate(V1))U114#(tt, L)activate#(L)
isNat#(n__s(V1))isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2))activate#(V2)
U92#(tt, V1, V2)activate#(V1)activate#(n__s(X))activate#(X)
U93#(tt, V1, V2)isNatIListKind#(activate(V2))isNatKind#(n__length(V1))activate#(V1)
U32#(tt, V)isNatList#(activate(V))isNatKind#(n__s(V1))activate#(V1)
U93#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)activate#(V1)
U102#(tt, V1, V2)isNatIListKind#(activate(V2))U105#(tt, V2)activate#(V2)
U131#(tt, IL, M, N)activate#(N)isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))
U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatList#(n__take(V1, V2))isNatKind#(activate(V1))
U31#(tt, V)activate#(V)U132#(tt, IL, M, N)activate#(IL)
U131#(tt, IL, M, N)activate#(IL)U114#(tt, L)length#(activate(L))
U91#(tt, V1, V2)activate#(V2)U122#(tt)nil#
U102#(tt, V1, V2)activate#(V2)U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))
U32#(tt, V)U33#(isNatList(activate(V)))U112#(tt, L, N)isNat#(activate(N))
U93#(tt, V1, V2)activate#(V2)U21#(tt, V1)activate#(V1)
U32#(tt, V)activate#(V)U11#(tt, V1)activate#(V1)
U41#(tt, V1, V2)activate#(V2)U11#(tt, V1)isNatIListKind#(activate(V1))
U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))U131#(tt, IL, M, N)activate#(M)
isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))U134#(tt, IL, M, N)activate#(IL)
U113#(tt, L, N)activate#(N)U43#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N)activate#(IL)
activate#(n__take(X1, X2))activate#(X1)U91#(tt, V1, V2)activate#(V1)
U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))U44#(tt, V1, V2)activate#(V2)
isNatList#(n__cons(V1, V2))activate#(V1)isNat#(n__length(V1))isNatIListKind#(activate(V1))
U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U42#(tt, V1, V2)isNatIListKind#(activate(V2))
take#(0, IL)isNatIList#(IL)U121#(tt, IL)isNatIListKind#(activate(IL))
U136#(tt, IL, M, N)activate#(M)U12#(tt, V1)activate#(V1)
U104#(tt, V1, V2)activate#(V2)U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U21#(tt, V1)isNatKind#(activate(V1))activate#(n__take(X1, X2))take#(activate(X1), activate(X2))
U45#(tt, V2)activate#(V2)U135#(tt, IL, M, N)isNatKind#(activate(N))
U95#(tt, V2)activate#(V2)length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)
U45#(tt, V2)isNatIList#(activate(V2))U135#(tt, IL, M, N)activate#(M)
U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2))activate#(X1)U44#(tt, V1, V2)activate#(V1)
U91#(tt, V1, V2)isNatKind#(activate(V1))U101#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNat#(n__s(V1))activate#(V1)
U105#(tt, V2)U106#(isNatIList(activate(V2)))U41#(tt, V1, V2)isNatKind#(activate(V1))
U134#(tt, IL, M, N)isNat#(activate(N))U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatList#(n__cons(V1, V2))activate#(V2)isNatIList#(V)isNatIListKind#(activate(V))
isNatKind#(n__length(V1))isNatIListKind#(activate(V1))U103#(tt, V1, V2)activate#(V2)
isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))U112#(tt, L, N)activate#(N)
U42#(tt, V1, V2)activate#(V1)U133#(tt, IL, M, N)activate#(IL)
U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))
U112#(tt, L, N)activate#(L)U41#(tt, V1, V2)activate#(V1)
U42#(tt, V1, V2)activate#(V2)U103#(tt, V1, V2)activate#(V1)
U22#(tt, V1)activate#(V1)U92#(tt, V1, V2)activate#(V2)
U12#(tt, V1)isNatList#(activate(V1))U121#(tt, IL)U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))U136#(tt, IL, M, N)activate#(N)
U111#(tt, L, N)activate#(N)isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))U133#(tt, IL, M, N)activate#(M)
U103#(tt, V1, V2)isNatIListKind#(activate(V2))activate#(n__length(X))activate#(X)
U22#(tt, V1)isNat#(activate(V1))U45#(tt, V2)U46#(isNatIList(activate(V2)))
U111#(tt, L, N)activate#(L)U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N)activate#(N)U51#(tt, V2)isNatIListKind#(activate(V2))
U101#(tt, V1, V2)activate#(V2)U61#(tt, V2)isNatIListKind#(activate(V2))
U133#(tt, IL, M, N)isNatKind#(activate(M))U92#(tt, V1, V2)isNatIListKind#(activate(V2))
U135#(tt, IL, M, N)activate#(N)U132#(tt, IL, M, N)activate#(N)
U104#(tt, V1, V2)activate#(V1)isNatIListKind#(n__take(V1, V2))activate#(V2)
isNatIList#(V)activate#(V)U61#(tt, V2)activate#(V2)
activate#(n__take(X1, X2))activate#(X2)U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))take#(0, IL)U121#(isNatIList(IL), IL)
U131#(tt, IL, M, N)isNatIListKind#(activate(IL))isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))
U94#(tt, V1, V2)isNat#(activate(V1))U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2)activate#(V1)U104#(tt, V1, V2)isNat#(activate(V1))
U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))U43#(tt, V1, V2)isNatIListKind#(activate(V2))
U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))activate#(V1)
length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 13

Dependency Pairs

take#(s(M), cons(N, IL))isNatIList#(activate(IL))U132#(tt, IL, M, N)isNat#(activate(M))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
U121#(tt, IL)activate#(IL)U94#(tt, V1, V2)activate#(V1)
U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))U31#(tt, V)isNatIListKind#(activate(V))
U51#(tt, V2)activate#(V2)isNat#(n__length(V1))activate#(V1)
isNatIListKind#(n__cons(V1, V2))activate#(V2)length#(nil)0#
U111#(tt, L, N)isNatIListKind#(activate(L))U44#(tt, V1, V2)isNat#(activate(V1))
U105#(tt, V2)isNatIList#(activate(V2))U113#(tt, L, N)isNatKind#(activate(N))
U113#(tt, L, N)activate#(L)U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))activate#(n__length(X))length#(activate(X))
take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)length#(cons(N, L))isNatList#(activate(L))
U134#(tt, IL, M, N)activate#(M)isNatList#(n__take(V1, V2))activate#(V2)
U136#(tt, IL, M, N)activate#(IL)U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U95#(tt, V2)isNatList#(activate(V2))U134#(tt, IL, M, N)activate#(N)
U132#(tt, IL, M, N)activate#(M)U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(s(M), cons(N, IL))activate#(IL)
isNatIListKind#(n__cons(V1, V2))activate#(V1)isNatKind#(n__s(V1))isNatKind#(activate(V1))
U114#(tt, L)activate#(L)isNat#(n__s(V1))isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2))activate#(V2)U92#(tt, V1, V2)activate#(V1)
activate#(n__s(X))activate#(X)U93#(tt, V1, V2)isNatIListKind#(activate(V2))
isNatKind#(n__length(V1))activate#(V1)U32#(tt, V)isNatList#(activate(V))
isNatKind#(n__s(V1))activate#(V1)U102#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)isNatIListKind#(activate(V2))
U105#(tt, V2)activate#(V2)isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))
U131#(tt, IL, M, N)activate#(N)U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatList#(n__take(V1, V2))isNatKind#(activate(V1))U31#(tt, V)activate#(V)
U132#(tt, IL, M, N)activate#(IL)U131#(tt, IL, M, N)activate#(IL)
U114#(tt, L)length#(activate(L))U91#(tt, V1, V2)activate#(V2)
U102#(tt, V1, V2)activate#(V2)U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))
U112#(tt, L, N)isNat#(activate(N))U93#(tt, V1, V2)activate#(V2)
U21#(tt, V1)activate#(V1)U32#(tt, V)activate#(V)
U11#(tt, V1)activate#(V1)U41#(tt, V1, V2)activate#(V2)
U95#(tt, V2)U96#(isNatList(activate(V2)))U11#(tt, V1)isNatIListKind#(activate(V1))
U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))U131#(tt, IL, M, N)activate#(M)
isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))U134#(tt, IL, M, N)activate#(IL)
U113#(tt, L, N)activate#(N)U43#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N)activate#(IL)
activate#(n__take(X1, X2))activate#(X1)U91#(tt, V1, V2)activate#(V1)
U44#(tt, V1, V2)activate#(V2)U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2))activate#(V1)isNat#(n__length(V1))isNatIListKind#(activate(V1))
U42#(tt, V1, V2)isNatIListKind#(activate(V2))U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
take#(0, IL)isNatIList#(IL)U121#(tt, IL)isNatIListKind#(activate(IL))
U136#(tt, IL, M, N)activate#(M)U104#(tt, V1, V2)activate#(V2)
U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U12#(tt, V1)activate#(V1)
U21#(tt, V1)isNatKind#(activate(V1))activate#(n__take(X1, X2))take#(activate(X1), activate(X2))
U45#(tt, V2)activate#(V2)U135#(tt, IL, M, N)isNatKind#(activate(N))
U95#(tt, V2)activate#(V2)length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N)activate#(M)U45#(tt, V2)isNatIList#(activate(V2))
U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2))activate#(X1)U44#(tt, V1, V2)activate#(V1)
U91#(tt, V1, V2)isNatKind#(activate(V1))U101#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U41#(tt, V1, V2)isNatKind#(activate(V1))
U134#(tt, IL, M, N)isNat#(activate(N))isNat#(n__s(V1))activate#(V1)
U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatIList#(V)isNatIListKind#(activate(V))
isNatList#(n__cons(V1, V2))activate#(V2)isNatKind#(n__length(V1))isNatIListKind#(activate(V1))
U103#(tt, V1, V2)activate#(V2)isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))
U42#(tt, V1, V2)activate#(V1)U112#(tt, L, N)activate#(N)
U133#(tt, IL, M, N)activate#(IL)U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))
U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N)activate#(L)
U41#(tt, V1, V2)activate#(V1)U42#(tt, V1, V2)activate#(V2)
U103#(tt, V1, V2)activate#(V1)U22#(tt, V1)activate#(V1)
U12#(tt, V1)isNatList#(activate(V1))U92#(tt, V1, V2)activate#(V2)
isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))U136#(tt, IL, M, N)activate#(N)
U111#(tt, L, N)activate#(N)isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))
isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))U133#(tt, IL, M, N)activate#(M)
U103#(tt, V1, V2)isNatIListKind#(activate(V2))activate#(n__length(X))activate#(X)
U22#(tt, V1)isNat#(activate(V1))U111#(tt, L, N)activate#(L)
U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N)activate#(N)
U51#(tt, V2)isNatIListKind#(activate(V2))U101#(tt, V1, V2)activate#(V2)
U61#(tt, V2)isNatIListKind#(activate(V2))U92#(tt, V1, V2)isNatIListKind#(activate(V2))
U133#(tt, IL, M, N)isNatKind#(activate(M))U132#(tt, IL, M, N)activate#(N)
U135#(tt, IL, M, N)activate#(N)U104#(tt, V1, V2)activate#(V1)
isNatIListKind#(n__take(V1, V2))activate#(V2)isNatIList#(V)activate#(V)
U61#(tt, V2)activate#(V2)activate#(n__take(X1, X2))activate#(X2)
U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(0, IL)U121#(isNatIList(IL), IL)
U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))U131#(tt, IL, M, N)isNatIListKind#(activate(IL))
isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))U94#(tt, V1, V2)isNat#(activate(V1))
U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2)activate#(V1)
U104#(tt, V1, V2)isNat#(activate(V1))U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U114#(tt, L)s#(length(activate(L)))U43#(tt, V1, V2)isNatIListKind#(activate(V2))
U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))activate#(V1)
length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 14

Dependency Pairs

take#(s(M), cons(N, IL))isNatIList#(activate(IL))U132#(tt, IL, M, N)isNat#(activate(M))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
U121#(tt, IL)activate#(IL)U94#(tt, V1, V2)activate#(V1)
U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))U31#(tt, V)isNatIListKind#(activate(V))
U51#(tt, V2)activate#(V2)isNat#(n__length(V1))activate#(V1)
isNatIListKind#(n__cons(V1, V2))activate#(V2)length#(nil)0#
U111#(tt, L, N)isNatIListKind#(activate(L))U44#(tt, V1, V2)isNat#(activate(V1))
U105#(tt, V2)isNatIList#(activate(V2))U113#(tt, L, N)isNatKind#(activate(N))
U113#(tt, L, N)activate#(L)U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))activate#(n__length(X))length#(activate(X))
take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)length#(cons(N, L))isNatList#(activate(L))
U134#(tt, IL, M, N)activate#(M)isNatList#(n__take(V1, V2))activate#(V2)
U136#(tt, IL, M, N)activate#(IL)U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U95#(tt, V2)isNatList#(activate(V2))U134#(tt, IL, M, N)activate#(N)
U132#(tt, IL, M, N)activate#(M)U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(s(M), cons(N, IL))activate#(IL)
isNatIListKind#(n__cons(V1, V2))activate#(V1)isNatKind#(n__s(V1))isNatKind#(activate(V1))
U114#(tt, L)activate#(L)isNat#(n__s(V1))isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2))activate#(V2)U92#(tt, V1, V2)activate#(V1)
activate#(n__s(X))activate#(X)U93#(tt, V1, V2)isNatIListKind#(activate(V2))
isNatKind#(n__length(V1))activate#(V1)U32#(tt, V)isNatList#(activate(V))
isNatKind#(n__s(V1))activate#(V1)U102#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)isNatIListKind#(activate(V2))
U105#(tt, V2)activate#(V2)isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))
U131#(tt, IL, M, N)activate#(N)isNatList#(n__take(V1, V2))isNatKind#(activate(V1))
U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U31#(tt, V)activate#(V)
U132#(tt, IL, M, N)activate#(IL)U131#(tt, IL, M, N)activate#(IL)
U114#(tt, L)length#(activate(L))U91#(tt, V1, V2)activate#(V2)
U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))U102#(tt, V1, V2)activate#(V2)
U112#(tt, L, N)isNat#(activate(N))U93#(tt, V1, V2)activate#(V2)
U21#(tt, V1)activate#(V1)U32#(tt, V)activate#(V)
U11#(tt, V1)activate#(V1)U41#(tt, V1, V2)activate#(V2)
U11#(tt, V1)isNatIListKind#(activate(V1))U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))
U131#(tt, IL, M, N)activate#(M)isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))
U134#(tt, IL, M, N)activate#(IL)U113#(tt, L, N)activate#(N)
U43#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N)activate#(IL)activate#(n__take(X1, X2))activate#(X1)
U91#(tt, V1, V2)activate#(V1)U44#(tt, V1, V2)activate#(V2)
U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))isNatList#(n__cons(V1, V2))activate#(V1)
isNat#(n__length(V1))isNatIListKind#(activate(V1))U42#(tt, V1, V2)isNatIListKind#(activate(V2))
U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))take#(0, IL)isNatIList#(IL)
U121#(tt, IL)isNatIListKind#(activate(IL))U136#(tt, IL, M, N)activate#(M)
U104#(tt, V1, V2)activate#(V2)U12#(tt, V1)activate#(V1)
U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U21#(tt, V1)isNatKind#(activate(V1))
activate#(n__take(X1, X2))take#(activate(X1), activate(X2))U45#(tt, V2)activate#(V2)
U135#(tt, IL, M, N)isNatKind#(activate(N))U95#(tt, V2)activate#(V2)
length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)U45#(tt, V2)isNatIList#(activate(V2))
U135#(tt, IL, M, N)activate#(M)U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2))activate#(X1)
U44#(tt, V1, V2)activate#(V1)U91#(tt, V1, V2)isNatKind#(activate(V1))
U101#(tt, V1, V2)activate#(V1)U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U41#(tt, V1, V2)isNatKind#(activate(V1))U105#(tt, V2)U106#(isNatIList(activate(V2)))
U134#(tt, IL, M, N)isNat#(activate(N))isNat#(n__s(V1))activate#(V1)
U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatList#(n__cons(V1, V2))activate#(V2)
isNatIList#(V)isNatIListKind#(activate(V))isNatKind#(n__length(V1))isNatIListKind#(activate(V1))
U103#(tt, V1, V2)activate#(V2)isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))
U42#(tt, V1, V2)activate#(V1)U112#(tt, L, N)activate#(N)
U133#(tt, IL, M, N)activate#(IL)U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))
U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N)activate#(L)
U41#(tt, V1, V2)activate#(V1)U42#(tt, V1, V2)activate#(V2)
U103#(tt, V1, V2)activate#(V1)U22#(tt, V1)activate#(V1)
U92#(tt, V1, V2)activate#(V2)U12#(tt, V1)isNatList#(activate(V1))
isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))U136#(tt, IL, M, N)activate#(N)
U111#(tt, L, N)activate#(N)isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))U133#(tt, IL, M, N)activate#(M)
U103#(tt, V1, V2)isNatIListKind#(activate(V2))activate#(n__length(X))activate#(X)
U22#(tt, V1)isNat#(activate(V1))U111#(tt, L, N)activate#(L)
U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N)activate#(N)
U51#(tt, V2)isNatIListKind#(activate(V2))U101#(tt, V1, V2)activate#(V2)
U61#(tt, V2)isNatIListKind#(activate(V2))U133#(tt, IL, M, N)isNatKind#(activate(M))
U92#(tt, V1, V2)isNatIListKind#(activate(V2))U132#(tt, IL, M, N)activate#(N)
U135#(tt, IL, M, N)activate#(N)U104#(tt, V1, V2)activate#(V1)
isNatIListKind#(n__take(V1, V2))activate#(V2)isNatIList#(V)activate#(V)
U61#(tt, V2)activate#(V2)activate#(n__take(X1, X2))activate#(X2)
U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(0, IL)U121#(isNatIList(IL), IL)
U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))U131#(tt, IL, M, N)isNatIListKind#(activate(IL))
isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))U94#(tt, V1, V2)isNat#(activate(V1))
U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2)activate#(V1)
U104#(tt, V1, V2)isNat#(activate(V1))U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U114#(tt, L)s#(length(activate(L)))U43#(tt, V1, V2)isNatIListKind#(activate(V2))
U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))activate#(V1)
length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 15

Dependency Pairs

U132#(tt, IL, M, N)isNat#(activate(M))take#(s(M), cons(N, IL))isNatIList#(activate(IL))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U12#(tt, V1)U13#(isNatList(activate(V1)))U94#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))activate#(V1)U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))
isNatIListKind#(n__take(V1, V2))activate#(V1)U121#(tt, IL)activate#(IL)
U94#(tt, V1, V2)activate#(V1)U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))
U31#(tt, V)isNatIListKind#(activate(V))U51#(tt, V2)activate#(V2)
isNat#(n__length(V1))activate#(V1)isNatIListKind#(n__cons(V1, V2))activate#(V2)
length#(nil)0#U111#(tt, L, N)isNatIListKind#(activate(L))
U44#(tt, V1, V2)isNat#(activate(V1))U105#(tt, V2)isNatIList#(activate(V2))
U113#(tt, L, N)activate#(L)U113#(tt, L, N)isNatKind#(activate(N))
U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))
activate#(n__length(X))length#(activate(X))take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)
U134#(tt, IL, M, N)activate#(M)length#(cons(N, L))isNatList#(activate(L))
isNatList#(n__take(V1, V2))activate#(V2)U136#(tt, IL, M, N)activate#(IL)
U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U95#(tt, V2)isNatList#(activate(V2))
U134#(tt, IL, M, N)activate#(N)isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))U132#(tt, IL, M, N)activate#(M)
take#(s(M), cons(N, IL))activate#(IL)isNatIListKind#(n__cons(V1, V2))activate#(V1)
isNatKind#(n__s(V1))isNatKind#(activate(V1))U114#(tt, L)activate#(L)
isNat#(n__s(V1))isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2))activate#(V2)
U92#(tt, V1, V2)activate#(V1)activate#(n__s(X))activate#(X)
U93#(tt, V1, V2)isNatIListKind#(activate(V2))isNatKind#(n__length(V1))activate#(V1)
U32#(tt, V)isNatList#(activate(V))isNatKind#(n__s(V1))activate#(V1)
U102#(tt, V1, V2)activate#(V1)U93#(tt, V1, V2)activate#(V1)
U102#(tt, V1, V2)isNatIListKind#(activate(V2))U105#(tt, V2)activate#(V2)
isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))U131#(tt, IL, M, N)activate#(N)
isNatList#(n__take(V1, V2))isNatKind#(activate(V1))U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U31#(tt, V)activate#(V)U132#(tt, IL, M, N)activate#(IL)
U114#(tt, L)length#(activate(L))U131#(tt, IL, M, N)activate#(IL)
U91#(tt, V1, V2)activate#(V2)U122#(tt)nil#
U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))U102#(tt, V1, V2)activate#(V2)
U112#(tt, L, N)isNat#(activate(N))U93#(tt, V1, V2)activate#(V2)
U21#(tt, V1)activate#(V1)U32#(tt, V)activate#(V)
U11#(tt, V1)activate#(V1)U41#(tt, V1, V2)activate#(V2)
U95#(tt, V2)U96#(isNatList(activate(V2)))U11#(tt, V1)isNatIListKind#(activate(V1))
U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))U131#(tt, IL, M, N)activate#(M)
isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))U134#(tt, IL, M, N)activate#(IL)
U113#(tt, L, N)activate#(N)U43#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N)activate#(IL)
activate#(n__take(X1, X2))activate#(X1)U91#(tt, V1, V2)activate#(V1)
U44#(tt, V1, V2)activate#(V2)U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2))activate#(V1)isNat#(n__length(V1))isNatIListKind#(activate(V1))
U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U42#(tt, V1, V2)isNatIListKind#(activate(V2))
take#(0, IL)isNatIList#(IL)U121#(tt, IL)isNatIListKind#(activate(IL))
U136#(tt, IL, M, N)activate#(M)U104#(tt, V1, V2)activate#(V2)
U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U12#(tt, V1)activate#(V1)
U21#(tt, V1)isNatKind#(activate(V1))activate#(n__take(X1, X2))take#(activate(X1), activate(X2))
U45#(tt, V2)activate#(V2)U135#(tt, IL, M, N)isNatKind#(activate(N))
U95#(tt, V2)activate#(V2)length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)
U45#(tt, V2)isNatIList#(activate(V2))U135#(tt, IL, M, N)activate#(M)
U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2))activate#(X1)U44#(tt, V1, V2)activate#(V1)
U91#(tt, V1, V2)isNatKind#(activate(V1))U101#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U41#(tt, V1, V2)isNatKind#(activate(V1))
U105#(tt, V2)U106#(isNatIList(activate(V2)))U134#(tt, IL, M, N)isNat#(activate(N))
isNat#(n__s(V1))activate#(V1)U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatList#(n__cons(V1, V2))activate#(V2)isNatIList#(V)isNatIListKind#(activate(V))
isNatKind#(n__length(V1))isNatIListKind#(activate(V1))U103#(tt, V1, V2)activate#(V2)
isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))U42#(tt, V1, V2)activate#(V1)
U112#(tt, L, N)activate#(N)U133#(tt, IL, M, N)activate#(IL)
U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))
U112#(tt, L, N)activate#(L)U41#(tt, V1, V2)activate#(V1)
U42#(tt, V1, V2)activate#(V2)U103#(tt, V1, V2)activate#(V1)
U22#(tt, V1)activate#(V1)U92#(tt, V1, V2)activate#(V2)
U12#(tt, V1)isNatList#(activate(V1))U121#(tt, IL)U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))U136#(tt, IL, M, N)activate#(N)
U111#(tt, L, N)activate#(N)isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))U133#(tt, IL, M, N)activate#(M)
U103#(tt, V1, V2)isNatIListKind#(activate(V2))activate#(n__length(X))activate#(X)
U22#(tt, V1)isNat#(activate(V1))U111#(tt, L, N)activate#(L)
U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N)activate#(N)
U51#(tt, V2)isNatIListKind#(activate(V2))U101#(tt, V1, V2)activate#(V2)
U61#(tt, V2)isNatIListKind#(activate(V2))U133#(tt, IL, M, N)isNatKind#(activate(M))
U92#(tt, V1, V2)isNatIListKind#(activate(V2))U135#(tt, IL, M, N)activate#(N)
U132#(tt, IL, M, N)activate#(N)U104#(tt, V1, V2)activate#(V1)
isNatIListKind#(n__take(V1, V2))activate#(V2)isNatIList#(V)activate#(V)
U61#(tt, V2)activate#(V2)activate#(n__take(X1, X2))activate#(X2)
U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(0, IL)U121#(isNatIList(IL), IL)
U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))U131#(tt, IL, M, N)isNatIListKind#(activate(IL))
isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))U94#(tt, V1, V2)isNat#(activate(V1))
U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2)activate#(V1)
U104#(tt, V1, V2)isNat#(activate(V1))U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U114#(tt, L)s#(length(activate(L)))U43#(tt, V1, V2)isNatIListKind#(activate(V2))
U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))activate#(V1)
length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 17

Dependency Pairs

take#(s(M), cons(N, IL))isNatIList#(activate(IL))U132#(tt, IL, M, N)isNat#(activate(M))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
U121#(tt, IL)activate#(IL)U94#(tt, V1, V2)activate#(V1)
U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))U31#(tt, V)isNatIListKind#(activate(V))
U51#(tt, V2)activate#(V2)isNat#(n__length(V1))activate#(V1)
isNatIListKind#(n__cons(V1, V2))activate#(V2)length#(nil)0#
U111#(tt, L, N)isNatIListKind#(activate(L))U44#(tt, V1, V2)isNat#(activate(V1))
U105#(tt, V2)isNatIList#(activate(V2))U113#(tt, L, N)isNatKind#(activate(N))
U113#(tt, L, N)activate#(L)U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))activate#(n__length(X))length#(activate(X))
take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)length#(cons(N, L))isNatList#(activate(L))
U134#(tt, IL, M, N)activate#(M)isNatList#(n__take(V1, V2))activate#(V2)
U136#(tt, IL, M, N)activate#(IL)U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U95#(tt, V2)isNatList#(activate(V2))U134#(tt, IL, M, N)activate#(N)
U132#(tt, IL, M, N)activate#(M)U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(s(M), cons(N, IL))activate#(IL)
isNatIListKind#(n__cons(V1, V2))activate#(V1)isNatKind#(n__s(V1))isNatKind#(activate(V1))
U114#(tt, L)activate#(L)isNat#(n__s(V1))isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2))activate#(V2)U92#(tt, V1, V2)activate#(V1)
activate#(n__s(X))activate#(X)U93#(tt, V1, V2)isNatIListKind#(activate(V2))
isNatKind#(n__length(V1))activate#(V1)U32#(tt, V)isNatList#(activate(V))
isNatKind#(n__s(V1))activate#(V1)U102#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)isNatIListKind#(activate(V2))
U105#(tt, V2)activate#(V2)isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))
U131#(tt, IL, M, N)activate#(N)isNatList#(n__take(V1, V2))isNatKind#(activate(V1))
U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U31#(tt, V)activate#(V)
U132#(tt, IL, M, N)activate#(IL)U131#(tt, IL, M, N)activate#(IL)
U114#(tt, L)length#(activate(L))U91#(tt, V1, V2)activate#(V2)
U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))U102#(tt, V1, V2)activate#(V2)
U112#(tt, L, N)isNat#(activate(N))U93#(tt, V1, V2)activate#(V2)
U21#(tt, V1)activate#(V1)U32#(tt, V)activate#(V)
U11#(tt, V1)activate#(V1)U41#(tt, V1, V2)activate#(V2)
U95#(tt, V2)U96#(isNatList(activate(V2)))U11#(tt, V1)isNatIListKind#(activate(V1))
U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))U131#(tt, IL, M, N)activate#(M)
isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))U134#(tt, IL, M, N)activate#(IL)
U113#(tt, L, N)activate#(N)U43#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N)activate#(IL)
activate#(n__take(X1, X2))activate#(X1)U91#(tt, V1, V2)activate#(V1)
U44#(tt, V1, V2)activate#(V2)U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2))activate#(V1)isNat#(n__length(V1))isNatIListKind#(activate(V1))
U42#(tt, V1, V2)isNatIListKind#(activate(V2))U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
take#(0, IL)isNatIList#(IL)U121#(tt, IL)isNatIListKind#(activate(IL))
U136#(tt, IL, M, N)activate#(M)U104#(tt, V1, V2)activate#(V2)
U12#(tt, V1)activate#(V1)U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U21#(tt, V1)isNatKind#(activate(V1))activate#(n__take(X1, X2))take#(activate(X1), activate(X2))
U45#(tt, V2)activate#(V2)U135#(tt, IL, M, N)isNatKind#(activate(N))
U95#(tt, V2)activate#(V2)length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)
U45#(tt, V2)isNatIList#(activate(V2))U135#(tt, IL, M, N)activate#(M)
U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2))activate#(X1)U44#(tt, V1, V2)activate#(V1)
U91#(tt, V1, V2)isNatKind#(activate(V1))U101#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U41#(tt, V1, V2)isNatKind#(activate(V1))
U105#(tt, V2)U106#(isNatIList(activate(V2)))U134#(tt, IL, M, N)isNat#(activate(N))
isNat#(n__s(V1))activate#(V1)U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatIList#(V)isNatIListKind#(activate(V))isNatList#(n__cons(V1, V2))activate#(V2)
isNatKind#(n__length(V1))isNatIListKind#(activate(V1))U103#(tt, V1, V2)activate#(V2)
isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))U42#(tt, V1, V2)activate#(V1)
U112#(tt, L, N)activate#(N)U133#(tt, IL, M, N)activate#(IL)
U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N)activate#(L)U41#(tt, V1, V2)activate#(V1)
U42#(tt, V1, V2)activate#(V2)U103#(tt, V1, V2)activate#(V1)
U22#(tt, V1)activate#(V1)U92#(tt, V1, V2)activate#(V2)
U12#(tt, V1)isNatList#(activate(V1))isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))
U136#(tt, IL, M, N)activate#(N)U111#(tt, L, N)activate#(N)
isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))
U133#(tt, IL, M, N)activate#(M)U103#(tt, V1, V2)isNatIListKind#(activate(V2))
activate#(n__length(X))activate#(X)U22#(tt, V1)isNat#(activate(V1))
U111#(tt, L, N)activate#(L)U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N)activate#(N)U51#(tt, V2)isNatIListKind#(activate(V2))
U101#(tt, V1, V2)activate#(V2)U61#(tt, V2)isNatIListKind#(activate(V2))
U133#(tt, IL, M, N)isNatKind#(activate(M))U92#(tt, V1, V2)isNatIListKind#(activate(V2))
U132#(tt, IL, M, N)activate#(N)U135#(tt, IL, M, N)activate#(N)
U104#(tt, V1, V2)activate#(V1)isNatIListKind#(n__take(V1, V2))activate#(V2)
isNatIList#(V)activate#(V)U61#(tt, V2)activate#(V2)
activate#(n__take(X1, X2))activate#(X2)U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(0, IL)U121#(isNatIList(IL), IL)U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))
U131#(tt, IL, M, N)isNatIListKind#(activate(IL))isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))
U94#(tt, V1, V2)isNat#(activate(V1))U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2)activate#(V1)U104#(tt, V1, V2)isNat#(activate(V1))
U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L)s#(length(activate(L)))
U43#(tt, V1, V2)isNatIListKind#(activate(V2))U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))activate#(V1)length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 16

Dependency Pairs

take#(s(M), cons(N, IL))isNatIList#(activate(IL))U132#(tt, IL, M, N)isNat#(activate(M))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
U94#(tt, V1, V2)activate#(V1)U121#(tt, IL)activate#(IL)
U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))U31#(tt, V)isNatIListKind#(activate(V))
U51#(tt, V2)activate#(V2)isNat#(n__length(V1))activate#(V1)
isNatIListKind#(n__cons(V1, V2))activate#(V2)length#(nil)0#
U111#(tt, L, N)isNatIListKind#(activate(L))U44#(tt, V1, V2)isNat#(activate(V1))
U105#(tt, V2)isNatIList#(activate(V2))U113#(tt, L, N)isNatKind#(activate(N))
U113#(tt, L, N)activate#(L)U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))activate#(n__length(X))length#(activate(X))
take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)U134#(tt, IL, M, N)activate#(M)
length#(cons(N, L))isNatList#(activate(L))U136#(tt, IL, M, N)activate#(IL)
isNatList#(n__take(V1, V2))activate#(V2)U95#(tt, V2)isNatList#(activate(V2))
U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N)activate#(N)
isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
U132#(tt, IL, M, N)activate#(M)take#(s(M), cons(N, IL))activate#(IL)
isNatIListKind#(n__cons(V1, V2))activate#(V1)isNatKind#(n__s(V1))isNatKind#(activate(V1))
U114#(tt, L)activate#(L)isNat#(n__s(V1))isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2))activate#(V2)U92#(tt, V1, V2)activate#(V1)
activate#(n__s(X))activate#(X)U93#(tt, V1, V2)isNatIListKind#(activate(V2))
isNatKind#(n__length(V1))activate#(V1)U32#(tt, V)isNatList#(activate(V))
isNatKind#(n__s(V1))activate#(V1)U102#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)isNatIListKind#(activate(V2))
U105#(tt, V2)activate#(V2)U131#(tt, IL, M, N)activate#(N)
isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatList#(n__take(V1, V2))isNatKind#(activate(V1))U31#(tt, V)activate#(V)
U132#(tt, IL, M, N)activate#(IL)U131#(tt, IL, M, N)activate#(IL)
U114#(tt, L)length#(activate(L))U91#(tt, V1, V2)activate#(V2)
U122#(tt)nil#U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))
U102#(tt, V1, V2)activate#(V2)U112#(tt, L, N)isNat#(activate(N))
U93#(tt, V1, V2)activate#(V2)U21#(tt, V1)activate#(V1)
U32#(tt, V)activate#(V)U11#(tt, V1)activate#(V1)
U41#(tt, V1, V2)activate#(V2)U95#(tt, V2)U96#(isNatList(activate(V2)))
U11#(tt, V1)isNatIListKind#(activate(V1))U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))
U131#(tt, IL, M, N)activate#(M)isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))
U134#(tt, IL, M, N)activate#(IL)U113#(tt, L, N)activate#(N)
U43#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N)activate#(IL)activate#(n__take(X1, X2))activate#(X1)
U91#(tt, V1, V2)activate#(V1)U44#(tt, V1, V2)activate#(V2)
U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))isNatList#(n__cons(V1, V2))activate#(V1)
isNat#(n__length(V1))isNatIListKind#(activate(V1))U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U42#(tt, V1, V2)isNatIListKind#(activate(V2))take#(0, IL)isNatIList#(IL)
U121#(tt, IL)isNatIListKind#(activate(IL))U136#(tt, IL, M, N)activate#(M)
U12#(tt, V1)activate#(V1)U104#(tt, V1, V2)activate#(V2)
U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U21#(tt, V1)isNatKind#(activate(V1))
activate#(n__take(X1, X2))take#(activate(X1), activate(X2))U45#(tt, V2)activate#(V2)
U135#(tt, IL, M, N)isNatKind#(activate(N))U95#(tt, V2)activate#(V2)
length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)U45#(tt, V2)isNatIList#(activate(V2))
U135#(tt, IL, M, N)activate#(M)U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2))activate#(X1)
U44#(tt, V1, V2)activate#(V1)U91#(tt, V1, V2)isNatKind#(activate(V1))
U101#(tt, V1, V2)activate#(V1)U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U41#(tt, V1, V2)isNatKind#(activate(V1))U134#(tt, IL, M, N)isNat#(activate(N))
isNat#(n__s(V1))activate#(V1)U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatIList#(V)isNatIListKind#(activate(V))isNatList#(n__cons(V1, V2))activate#(V2)
isNatKind#(n__length(V1))isNatIListKind#(activate(V1))U103#(tt, V1, V2)activate#(V2)
isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))U42#(tt, V1, V2)activate#(V1)
U112#(tt, L, N)activate#(N)U133#(tt, IL, M, N)activate#(IL)
U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))
U112#(tt, L, N)activate#(L)U41#(tt, V1, V2)activate#(V1)
U42#(tt, V1, V2)activate#(V2)U103#(tt, V1, V2)activate#(V1)
U22#(tt, V1)activate#(V1)U92#(tt, V1, V2)activate#(V2)
U12#(tt, V1)isNatList#(activate(V1))U121#(tt, IL)U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))U22#(tt, V1)U23#(isNat(activate(V1)))
U136#(tt, IL, M, N)activate#(N)U111#(tt, L, N)activate#(N)
isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))
U133#(tt, IL, M, N)activate#(M)U103#(tt, V1, V2)isNatIListKind#(activate(V2))
activate#(n__length(X))activate#(X)U22#(tt, V1)isNat#(activate(V1))
U111#(tt, L, N)activate#(L)U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N)activate#(N)U51#(tt, V2)isNatIListKind#(activate(V2))
U101#(tt, V1, V2)activate#(V2)U61#(tt, V2)isNatIListKind#(activate(V2))
U133#(tt, IL, M, N)isNatKind#(activate(M))U92#(tt, V1, V2)isNatIListKind#(activate(V2))
U135#(tt, IL, M, N)activate#(N)U132#(tt, IL, M, N)activate#(N)
U104#(tt, V1, V2)activate#(V1)isNatIListKind#(n__take(V1, V2))activate#(V2)
isNatIList#(V)activate#(V)U61#(tt, V2)activate#(V2)
activate#(n__take(X1, X2))activate#(X2)U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(0, IL)U121#(isNatIList(IL), IL)U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))
U131#(tt, IL, M, N)isNatIListKind#(activate(IL))isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))
U94#(tt, V1, V2)isNat#(activate(V1))U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2)activate#(V1)U104#(tt, V1, V2)isNat#(activate(V1))
U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L)s#(length(activate(L)))
U43#(tt, V1, V2)isNatIListKind#(activate(V2))U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))activate#(V1)length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 19

Dependency Pairs

take#(s(M), cons(N, IL))isNatIList#(activate(IL))U132#(tt, IL, M, N)isNat#(activate(M))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
U94#(tt, V1, V2)activate#(V1)U121#(tt, IL)activate#(IL)
U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))U31#(tt, V)isNatIListKind#(activate(V))
U51#(tt, V2)activate#(V2)isNat#(n__length(V1))activate#(V1)
isNatIListKind#(n__cons(V1, V2))activate#(V2)U111#(tt, L, N)isNatIListKind#(activate(L))
U44#(tt, V1, V2)isNat#(activate(V1))U105#(tt, V2)isNatIList#(activate(V2))
U113#(tt, L, N)isNatKind#(activate(N))U113#(tt, L, N)activate#(L)
U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))
activate#(n__length(X))length#(activate(X))take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)
U134#(tt, IL, M, N)activate#(M)length#(cons(N, L))isNatList#(activate(L))
U136#(tt, IL, M, N)activate#(IL)isNatList#(n__take(V1, V2))activate#(V2)
U95#(tt, V2)isNatList#(activate(V2))U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U134#(tt, IL, M, N)activate#(N)U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
U132#(tt, IL, M, N)activate#(M)isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(s(M), cons(N, IL))activate#(IL)isNatIListKind#(n__cons(V1, V2))activate#(V1)
isNatKind#(n__s(V1))isNatKind#(activate(V1))U114#(tt, L)activate#(L)
isNat#(n__s(V1))isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2))activate#(V2)
U92#(tt, V1, V2)activate#(V1)activate#(n__s(X))activate#(X)
U93#(tt, V1, V2)isNatIListKind#(activate(V2))isNatKind#(n__length(V1))activate#(V1)
U32#(tt, V)isNatList#(activate(V))isNatKind#(n__s(V1))activate#(V1)
U93#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)activate#(V1)
U102#(tt, V1, V2)isNatIListKind#(activate(V2))U105#(tt, V2)activate#(V2)
U131#(tt, IL, M, N)activate#(N)isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))
U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatList#(n__take(V1, V2))isNatKind#(activate(V1))
U31#(tt, V)activate#(V)U132#(tt, IL, M, N)activate#(IL)
U131#(tt, IL, M, N)activate#(IL)U114#(tt, L)length#(activate(L))
U91#(tt, V1, V2)activate#(V2)U122#(tt)nil#
U102#(tt, V1, V2)activate#(V2)U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))
U32#(tt, V)U33#(isNatList(activate(V)))U112#(tt, L, N)isNat#(activate(N))
U93#(tt, V1, V2)activate#(V2)U21#(tt, V1)activate#(V1)
U32#(tt, V)activate#(V)U11#(tt, V1)activate#(V1)
U41#(tt, V1, V2)activate#(V2)U11#(tt, V1)isNatIListKind#(activate(V1))
U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))U131#(tt, IL, M, N)activate#(M)
isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))U134#(tt, IL, M, N)activate#(IL)
U113#(tt, L, N)activate#(N)U43#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N)activate#(IL)
activate#(n__take(X1, X2))activate#(X1)U91#(tt, V1, V2)activate#(V1)
U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))U44#(tt, V1, V2)activate#(V2)
isNatList#(n__cons(V1, V2))activate#(V1)isNat#(n__length(V1))isNatIListKind#(activate(V1))
U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U42#(tt, V1, V2)isNatIListKind#(activate(V2))
take#(0, IL)isNatIList#(IL)U121#(tt, IL)isNatIListKind#(activate(IL))
U136#(tt, IL, M, N)activate#(M)U12#(tt, V1)activate#(V1)
U104#(tt, V1, V2)activate#(V2)U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U21#(tt, V1)isNatKind#(activate(V1))activate#(n__take(X1, X2))take#(activate(X1), activate(X2))
U45#(tt, V2)activate#(V2)U135#(tt, IL, M, N)isNatKind#(activate(N))
U95#(tt, V2)activate#(V2)length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)
U45#(tt, V2)isNatIList#(activate(V2))U135#(tt, IL, M, N)activate#(M)
U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2))activate#(X1)U44#(tt, V1, V2)activate#(V1)
U91#(tt, V1, V2)isNatKind#(activate(V1))U101#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNat#(n__s(V1))activate#(V1)
U41#(tt, V1, V2)isNatKind#(activate(V1))U134#(tt, IL, M, N)isNat#(activate(N))
U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatList#(n__cons(V1, V2))activate#(V2)
isNatIList#(V)isNatIListKind#(activate(V))isNatKind#(n__length(V1))isNatIListKind#(activate(V1))
U103#(tt, V1, V2)activate#(V2)isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))
U112#(tt, L, N)activate#(N)U42#(tt, V1, V2)activate#(V1)
U133#(tt, IL, M, N)activate#(IL)U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))U112#(tt, L, N)activate#(L)
U41#(tt, V1, V2)activate#(V1)U42#(tt, V1, V2)activate#(V2)
U103#(tt, V1, V2)activate#(V1)U22#(tt, V1)activate#(V1)
U92#(tt, V1, V2)activate#(V2)U12#(tt, V1)isNatList#(activate(V1))
U121#(tt, IL)U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))
U136#(tt, IL, M, N)activate#(N)U111#(tt, L, N)activate#(N)
isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))
U133#(tt, IL, M, N)activate#(M)U103#(tt, V1, V2)isNatIListKind#(activate(V2))
activate#(n__length(X))activate#(X)U22#(tt, V1)isNat#(activate(V1))
U45#(tt, V2)U46#(isNatIList(activate(V2)))U111#(tt, L, N)activate#(L)
U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N)activate#(N)
U51#(tt, V2)isNatIListKind#(activate(V2))U101#(tt, V1, V2)activate#(V2)
U61#(tt, V2)isNatIListKind#(activate(V2))U133#(tt, IL, M, N)isNatKind#(activate(M))
U92#(tt, V1, V2)isNatIListKind#(activate(V2))U135#(tt, IL, M, N)activate#(N)
U132#(tt, IL, M, N)activate#(N)U104#(tt, V1, V2)activate#(V1)
isNatIListKind#(n__take(V1, V2))activate#(V2)isNatIList#(V)activate#(V)
U61#(tt, V2)activate#(V2)activate#(n__take(X1, X2))activate#(X2)
U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))
take#(0, IL)U121#(isNatIList(IL), IL)U131#(tt, IL, M, N)isNatIListKind#(activate(IL))
isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))U94#(tt, V1, V2)isNat#(activate(V1))
U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2)activate#(V1)
U104#(tt, V1, V2)isNat#(activate(V1))U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U43#(tt, V1, V2)isNatIListKind#(activate(V2))U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))activate#(V1)length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 18

Dependency Pairs

U132#(tt, IL, M, N)isNat#(activate(M))take#(s(M), cons(N, IL))isNatIList#(activate(IL))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
U94#(tt, V1, V2)activate#(V1)U121#(tt, IL)activate#(IL)
U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))U31#(tt, V)isNatIListKind#(activate(V))
U51#(tt, V2)activate#(V2)isNat#(n__length(V1))activate#(V1)
isNatIListKind#(n__cons(V1, V2))activate#(V2)length#(nil)0#
U111#(tt, L, N)isNatIListKind#(activate(L))U44#(tt, V1, V2)isNat#(activate(V1))
U105#(tt, V2)isNatIList#(activate(V2))U113#(tt, L, N)activate#(L)
U113#(tt, L, N)isNatKind#(activate(N))U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))activate#(n__length(X))length#(activate(X))
take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)U134#(tt, IL, M, N)activate#(M)
length#(cons(N, L))isNatList#(activate(L))U136#(tt, IL, M, N)activate#(IL)
isNatList#(n__take(V1, V2))activate#(V2)U95#(tt, V2)isNatList#(activate(V2))
U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N)activate#(N)
isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
U132#(tt, IL, M, N)activate#(M)take#(s(M), cons(N, IL))activate#(IL)
isNatIListKind#(n__cons(V1, V2))activate#(V1)isNatKind#(n__s(V1))isNatKind#(activate(V1))
U114#(tt, L)activate#(L)isNat#(n__s(V1))isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2))activate#(V2)U92#(tt, V1, V2)activate#(V1)
activate#(n__s(X))activate#(X)U93#(tt, V1, V2)isNatIListKind#(activate(V2))
isNatKind#(n__length(V1))activate#(V1)U32#(tt, V)isNatList#(activate(V))
isNatKind#(n__s(V1))activate#(V1)U93#(tt, V1, V2)activate#(V1)
U102#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)isNatIListKind#(activate(V2))
U105#(tt, V2)activate#(V2)U131#(tt, IL, M, N)activate#(N)
isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatList#(n__take(V1, V2))isNatKind#(activate(V1))U31#(tt, V)activate#(V)
U132#(tt, IL, M, N)activate#(IL)U131#(tt, IL, M, N)activate#(IL)
U114#(tt, L)length#(activate(L))U91#(tt, V1, V2)activate#(V2)
U122#(tt)nil#U102#(tt, V1, V2)activate#(V2)
U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))U32#(tt, V)U33#(isNatList(activate(V)))
U112#(tt, L, N)isNat#(activate(N))U93#(tt, V1, V2)activate#(V2)
U21#(tt, V1)activate#(V1)U32#(tt, V)activate#(V)
U11#(tt, V1)activate#(V1)U41#(tt, V1, V2)activate#(V2)
U11#(tt, V1)isNatIListKind#(activate(V1))U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))
U131#(tt, IL, M, N)activate#(M)isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))
U134#(tt, IL, M, N)activate#(IL)U113#(tt, L, N)activate#(N)
U43#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N)activate#(IL)activate#(n__take(X1, X2))activate#(X1)
U91#(tt, V1, V2)activate#(V1)U44#(tt, V1, V2)activate#(V2)
U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))isNatList#(n__cons(V1, V2))activate#(V1)
isNat#(n__length(V1))isNatIListKind#(activate(V1))U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U42#(tt, V1, V2)isNatIListKind#(activate(V2))take#(0, IL)isNatIList#(IL)
U121#(tt, IL)isNatIListKind#(activate(IL))U136#(tt, IL, M, N)activate#(M)
U12#(tt, V1)activate#(V1)U104#(tt, V1, V2)activate#(V2)
U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U21#(tt, V1)isNatKind#(activate(V1))
activate#(n__take(X1, X2))take#(activate(X1), activate(X2))U45#(tt, V2)activate#(V2)
U135#(tt, IL, M, N)isNatKind#(activate(N))U95#(tt, V2)activate#(V2)
length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)U45#(tt, V2)isNatIList#(activate(V2))
U135#(tt, IL, M, N)activate#(M)U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2))activate#(X1)
U44#(tt, V1, V2)activate#(V1)U91#(tt, V1, V2)isNatKind#(activate(V1))
U101#(tt, V1, V2)activate#(V1)U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNat#(n__s(V1))activate#(V1)U41#(tt, V1, V2)isNatKind#(activate(V1))
U105#(tt, V2)U106#(isNatIList(activate(V2)))U134#(tt, IL, M, N)isNat#(activate(N))
U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatList#(n__cons(V1, V2))activate#(V2)
isNatIList#(V)isNatIListKind#(activate(V))isNatKind#(n__length(V1))isNatIListKind#(activate(V1))
U103#(tt, V1, V2)activate#(V2)isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))
U42#(tt, V1, V2)activate#(V1)U112#(tt, L, N)activate#(N)
U133#(tt, IL, M, N)activate#(IL)U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))U112#(tt, L, N)activate#(L)
U41#(tt, V1, V2)activate#(V1)U42#(tt, V1, V2)activate#(V2)
U103#(tt, V1, V2)activate#(V1)U22#(tt, V1)activate#(V1)
U92#(tt, V1, V2)activate#(V2)U12#(tt, V1)isNatList#(activate(V1))
U121#(tt, IL)U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))
U136#(tt, IL, M, N)activate#(N)U111#(tt, L, N)activate#(N)
isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))
U133#(tt, IL, M, N)activate#(M)U103#(tt, V1, V2)isNatIListKind#(activate(V2))
activate#(n__length(X))activate#(X)U22#(tt, V1)isNat#(activate(V1))
U111#(tt, L, N)activate#(L)U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N)activate#(N)U51#(tt, V2)isNatIListKind#(activate(V2))
U101#(tt, V1, V2)activate#(V2)U61#(tt, V2)isNatIListKind#(activate(V2))
U133#(tt, IL, M, N)isNatKind#(activate(M))U92#(tt, V1, V2)isNatIListKind#(activate(V2))
U135#(tt, IL, M, N)activate#(N)U132#(tt, IL, M, N)activate#(N)
U104#(tt, V1, V2)activate#(V1)isNatIListKind#(n__take(V1, V2))activate#(V2)
isNatIList#(V)activate#(V)U61#(tt, V2)activate#(V2)
activate#(n__take(X1, X2))activate#(X2)U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))take#(0, IL)U121#(isNatIList(IL), IL)
U131#(tt, IL, M, N)isNatIListKind#(activate(IL))isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))
U94#(tt, V1, V2)isNat#(activate(V1))U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2)activate#(V1)U104#(tt, V1, V2)isNat#(activate(V1))
U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L)s#(length(activate(L)))
U43#(tt, V1, V2)isNatIListKind#(activate(V2))U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))activate#(V1)length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 21

Dependency Pairs

take#(s(M), cons(N, IL))isNatIList#(activate(IL))U132#(tt, IL, M, N)isNat#(activate(M))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
U94#(tt, V1, V2)activate#(V1)U121#(tt, IL)activate#(IL)
U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))U31#(tt, V)isNatIListKind#(activate(V))
U51#(tt, V2)activate#(V2)isNat#(n__length(V1))activate#(V1)
isNatIListKind#(n__cons(V1, V2))activate#(V2)U111#(tt, L, N)isNatIListKind#(activate(L))
U44#(tt, V1, V2)isNat#(activate(V1))U105#(tt, V2)isNatIList#(activate(V2))
U113#(tt, L, N)isNatKind#(activate(N))U113#(tt, L, N)activate#(L)
U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))
activate#(n__length(X))length#(activate(X))take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)
U134#(tt, IL, M, N)activate#(M)length#(cons(N, L))isNatList#(activate(L))
U136#(tt, IL, M, N)activate#(IL)isNatList#(n__take(V1, V2))activate#(V2)
U95#(tt, V2)isNatList#(activate(V2))U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U134#(tt, IL, M, N)activate#(N)isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))U132#(tt, IL, M, N)activate#(M)
take#(s(M), cons(N, IL))activate#(IL)isNatIListKind#(n__cons(V1, V2))activate#(V1)
isNatKind#(n__s(V1))isNatKind#(activate(V1))U114#(tt, L)activate#(L)
isNat#(n__s(V1))isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2))activate#(V2)
U92#(tt, V1, V2)activate#(V1)activate#(n__s(X))activate#(X)
U93#(tt, V1, V2)isNatIListKind#(activate(V2))isNatKind#(n__length(V1))activate#(V1)
U32#(tt, V)isNatList#(activate(V))isNatKind#(n__s(V1))activate#(V1)
U93#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)activate#(V1)
U102#(tt, V1, V2)isNatIListKind#(activate(V2))U105#(tt, V2)activate#(V2)
U131#(tt, IL, M, N)activate#(N)isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))
U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatList#(n__take(V1, V2))isNatKind#(activate(V1))
U31#(tt, V)activate#(V)U132#(tt, IL, M, N)activate#(IL)
U131#(tt, IL, M, N)activate#(IL)U114#(tt, L)length#(activate(L))
U91#(tt, V1, V2)activate#(V2)U122#(tt)nil#
U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))U102#(tt, V1, V2)activate#(V2)
U112#(tt, L, N)isNat#(activate(N))U93#(tt, V1, V2)activate#(V2)
U21#(tt, V1)activate#(V1)U32#(tt, V)activate#(V)
U11#(tt, V1)activate#(V1)U41#(tt, V1, V2)activate#(V2)
U11#(tt, V1)isNatIListKind#(activate(V1))U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))
U131#(tt, IL, M, N)activate#(M)isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))
U134#(tt, IL, M, N)activate#(IL)U113#(tt, L, N)activate#(N)
U43#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N)activate#(IL)activate#(n__take(X1, X2))activate#(X1)
U91#(tt, V1, V2)activate#(V1)U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))
U44#(tt, V1, V2)activate#(V2)isNatList#(n__cons(V1, V2))activate#(V1)
isNat#(n__length(V1))isNatIListKind#(activate(V1))U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U42#(tt, V1, V2)isNatIListKind#(activate(V2))take#(0, IL)isNatIList#(IL)
U121#(tt, IL)isNatIListKind#(activate(IL))U136#(tt, IL, M, N)activate#(M)
U12#(tt, V1)activate#(V1)U104#(tt, V1, V2)activate#(V2)
U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U21#(tt, V1)isNatKind#(activate(V1))
activate#(n__take(X1, X2))take#(activate(X1), activate(X2))U45#(tt, V2)activate#(V2)
U135#(tt, IL, M, N)isNatKind#(activate(N))U95#(tt, V2)activate#(V2)
length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)U45#(tt, V2)isNatIList#(activate(V2))
U135#(tt, IL, M, N)activate#(M)U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2))activate#(X1)
U44#(tt, V1, V2)activate#(V1)U91#(tt, V1, V2)isNatKind#(activate(V1))
U101#(tt, V1, V2)activate#(V1)U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNat#(n__s(V1))activate#(V1)U41#(tt, V1, V2)isNatKind#(activate(V1))
U134#(tt, IL, M, N)isNat#(activate(N))U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatList#(n__cons(V1, V2))activate#(V2)isNatIList#(V)isNatIListKind#(activate(V))
isNatKind#(n__length(V1))isNatIListKind#(activate(V1))U103#(tt, V1, V2)activate#(V2)
isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))U112#(tt, L, N)activate#(N)
U42#(tt, V1, V2)activate#(V1)U133#(tt, IL, M, N)activate#(IL)
U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))
U112#(tt, L, N)activate#(L)U41#(tt, V1, V2)activate#(V1)
U42#(tt, V1, V2)activate#(V2)U103#(tt, V1, V2)activate#(V1)
U22#(tt, V1)activate#(V1)U92#(tt, V1, V2)activate#(V2)
U12#(tt, V1)isNatList#(activate(V1))U121#(tt, IL)U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))U136#(tt, IL, M, N)activate#(N)
U111#(tt, L, N)activate#(N)isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))U133#(tt, IL, M, N)activate#(M)
U103#(tt, V1, V2)isNatIListKind#(activate(V2))activate#(n__length(X))activate#(X)
U22#(tt, V1)isNat#(activate(V1))U45#(tt, V2)U46#(isNatIList(activate(V2)))
U111#(tt, L, N)activate#(L)U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N)activate#(N)U51#(tt, V2)isNatIListKind#(activate(V2))
U101#(tt, V1, V2)activate#(V2)U61#(tt, V2)isNatIListKind#(activate(V2))
U133#(tt, IL, M, N)isNatKind#(activate(M))U92#(tt, V1, V2)isNatIListKind#(activate(V2))
U135#(tt, IL, M, N)activate#(N)U132#(tt, IL, M, N)activate#(N)
U104#(tt, V1, V2)activate#(V1)isNatIListKind#(n__take(V1, V2))activate#(V2)
isNatIList#(V)activate#(V)U61#(tt, V2)activate#(V2)
activate#(n__take(X1, X2))activate#(X2)U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))take#(0, IL)U121#(isNatIList(IL), IL)
U131#(tt, IL, M, N)isNatIListKind#(activate(IL))isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))
U94#(tt, V1, V2)isNat#(activate(V1))U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2)activate#(V1)U104#(tt, V1, V2)isNat#(activate(V1))
U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))U43#(tt, V1, V2)isNatIListKind#(activate(V2))
U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))activate#(V1)
length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 20

Dependency Pairs

take#(s(M), cons(N, IL))isNatIList#(activate(IL))U132#(tt, IL, M, N)isNat#(activate(M))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
U121#(tt, IL)activate#(IL)U94#(tt, V1, V2)activate#(V1)
U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))U31#(tt, V)isNatIListKind#(activate(V))
U51#(tt, V2)activate#(V2)isNat#(n__length(V1))activate#(V1)
isNatIListKind#(n__cons(V1, V2))activate#(V2)U111#(tt, L, N)isNatIListKind#(activate(L))
length#(nil)0#U44#(tt, V1, V2)isNat#(activate(V1))
U105#(tt, V2)isNatIList#(activate(V2))U113#(tt, L, N)activate#(L)
U113#(tt, L, N)isNatKind#(activate(N))U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))activate#(n__length(X))length#(activate(X))
take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)length#(cons(N, L))isNatList#(activate(L))
U134#(tt, IL, M, N)activate#(M)isNatList#(n__take(V1, V2))activate#(V2)
U136#(tt, IL, M, N)activate#(IL)U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U95#(tt, V2)isNatList#(activate(V2))U134#(tt, IL, M, N)activate#(N)
U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))U132#(tt, IL, M, N)activate#(M)
isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(s(M), cons(N, IL))activate#(IL)
isNatIListKind#(n__cons(V1, V2))activate#(V1)isNatKind#(n__s(V1))isNatKind#(activate(V1))
U114#(tt, L)activate#(L)isNat#(n__s(V1))isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2))activate#(V2)U92#(tt, V1, V2)activate#(V1)
activate#(n__s(X))activate#(X)U93#(tt, V1, V2)isNatIListKind#(activate(V2))
isNatKind#(n__length(V1))activate#(V1)U32#(tt, V)isNatList#(activate(V))
isNatKind#(n__s(V1))activate#(V1)U102#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)isNatIListKind#(activate(V2))
U105#(tt, V2)activate#(V2)isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))
U131#(tt, IL, M, N)activate#(N)isNatList#(n__take(V1, V2))isNatKind#(activate(V1))
U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U31#(tt, V)activate#(V)
U132#(tt, IL, M, N)activate#(IL)U114#(tt, L)length#(activate(L))
U131#(tt, IL, M, N)activate#(IL)U91#(tt, V1, V2)activate#(V2)
U122#(tt)nil#U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))
U102#(tt, V1, V2)activate#(V2)U112#(tt, L, N)isNat#(activate(N))
U93#(tt, V1, V2)activate#(V2)U21#(tt, V1)activate#(V1)
U32#(tt, V)activate#(V)U11#(tt, V1)activate#(V1)
U41#(tt, V1, V2)activate#(V2)U11#(tt, V1)isNatIListKind#(activate(V1))
U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))U131#(tt, IL, M, N)activate#(M)
isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))U134#(tt, IL, M, N)activate#(IL)
U113#(tt, L, N)activate#(N)U43#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N)activate#(IL)
activate#(n__take(X1, X2))activate#(X1)U91#(tt, V1, V2)activate#(V1)
U44#(tt, V1, V2)activate#(V2)U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2))activate#(V1)isNat#(n__length(V1))isNatIListKind#(activate(V1))
U42#(tt, V1, V2)isNatIListKind#(activate(V2))U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
take#(0, IL)isNatIList#(IL)U121#(tt, IL)isNatIListKind#(activate(IL))
U136#(tt, IL, M, N)activate#(M)U104#(tt, V1, V2)activate#(V2)
U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U12#(tt, V1)activate#(V1)
U21#(tt, V1)isNatKind#(activate(V1))activate#(n__take(X1, X2))take#(activate(X1), activate(X2))
U45#(tt, V2)activate#(V2)U135#(tt, IL, M, N)isNatKind#(activate(N))
U95#(tt, V2)activate#(V2)length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)
U45#(tt, V2)isNatIList#(activate(V2))U135#(tt, IL, M, N)activate#(M)
U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2))activate#(X1)U44#(tt, V1, V2)activate#(V1)
U91#(tt, V1, V2)isNatKind#(activate(V1))U101#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U41#(tt, V1, V2)isNatKind#(activate(V1))
U134#(tt, IL, M, N)isNat#(activate(N))isNat#(n__s(V1))activate#(V1)
U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatList#(n__cons(V1, V2))activate#(V2)
isNatIList#(V)isNatIListKind#(activate(V))isNatKind#(n__length(V1))isNatIListKind#(activate(V1))
U103#(tt, V1, V2)activate#(V2)isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))
U42#(tt, V1, V2)activate#(V1)U112#(tt, L, N)activate#(N)
U133#(tt, IL, M, N)activate#(IL)U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))
U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N)activate#(L)
U41#(tt, V1, V2)activate#(V1)U42#(tt, V1, V2)activate#(V2)
U103#(tt, V1, V2)activate#(V1)U22#(tt, V1)activate#(V1)
U92#(tt, V1, V2)activate#(V2)U12#(tt, V1)isNatList#(activate(V1))
U121#(tt, IL)U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))
U136#(tt, IL, M, N)activate#(N)U111#(tt, L, N)activate#(N)
isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))
U133#(tt, IL, M, N)activate#(M)U103#(tt, V1, V2)isNatIListKind#(activate(V2))
activate#(n__length(X))activate#(X)U22#(tt, V1)isNat#(activate(V1))
U111#(tt, L, N)activate#(L)U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N)activate#(N)U51#(tt, V2)isNatIListKind#(activate(V2))
U101#(tt, V1, V2)activate#(V2)U61#(tt, V2)isNatIListKind#(activate(V2))
U133#(tt, IL, M, N)isNatKind#(activate(M))U61#(tt, V2)U62#(isNatIListKind(activate(V2)))
U92#(tt, V1, V2)isNatIListKind#(activate(V2))U135#(tt, IL, M, N)activate#(N)
U132#(tt, IL, M, N)activate#(N)U104#(tt, V1, V2)activate#(V1)
isNatIListKind#(n__take(V1, V2))activate#(V2)isNatIList#(V)activate#(V)
activate#(n__take(X1, X2))activate#(X2)U61#(tt, V2)activate#(V2)
U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(0, IL)U121#(isNatIList(IL), IL)
U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))U131#(tt, IL, M, N)isNatIListKind#(activate(IL))
isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))U94#(tt, V1, V2)isNat#(activate(V1))
U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2)activate#(V1)
U104#(tt, V1, V2)isNat#(activate(V1))U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U114#(tt, L)s#(length(activate(L)))U43#(tt, V1, V2)isNatIListKind#(activate(V2))
U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))activate#(V1)
length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil




Open Dependency Pair Problem 22

Dependency Pairs

U132#(tt, IL, M, N)isNat#(activate(M))take#(s(M), cons(N, IL))isNatIList#(activate(IL))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
U94#(tt, V1, V2)activate#(V1)U121#(tt, IL)activate#(IL)
U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))U31#(tt, V)isNatIListKind#(activate(V))
U51#(tt, V2)activate#(V2)isNat#(n__length(V1))activate#(V1)
isNatIListKind#(n__cons(V1, V2))activate#(V2)U111#(tt, L, N)isNatIListKind#(activate(L))
U44#(tt, V1, V2)isNat#(activate(V1))U105#(tt, V2)isNatIList#(activate(V2))
U113#(tt, L, N)isNatKind#(activate(N))U113#(tt, L, N)activate#(L)
U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))
activate#(n__length(X))length#(activate(X))take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)
U134#(tt, IL, M, N)activate#(M)length#(cons(N, L))isNatList#(activate(L))
U136#(tt, IL, M, N)activate#(IL)isNatList#(n__take(V1, V2))activate#(V2)
U95#(tt, V2)isNatList#(activate(V2))U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U134#(tt, IL, M, N)activate#(N)isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))U132#(tt, IL, M, N)activate#(M)
take#(s(M), cons(N, IL))activate#(IL)isNatIListKind#(n__cons(V1, V2))activate#(V1)
isNatKind#(n__s(V1))isNatKind#(activate(V1))U114#(tt, L)activate#(L)
isNat#(n__s(V1))isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2))activate#(V2)
U92#(tt, V1, V2)activate#(V1)activate#(n__s(X))activate#(X)
U93#(tt, V1, V2)isNatIListKind#(activate(V2))isNatKind#(n__length(V1))activate#(V1)
U32#(tt, V)isNatList#(activate(V))isNatKind#(n__s(V1))activate#(V1)
U93#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)activate#(V1)
U102#(tt, V1, V2)isNatIListKind#(activate(V2))U105#(tt, V2)activate#(V2)
U131#(tt, IL, M, N)activate#(N)isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))
U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatList#(n__take(V1, V2))isNatKind#(activate(V1))
U31#(tt, V)activate#(V)U132#(tt, IL, M, N)activate#(IL)
U131#(tt, IL, M, N)activate#(IL)U114#(tt, L)length#(activate(L))
U91#(tt, V1, V2)activate#(V2)U122#(tt)nil#
U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))U102#(tt, V1, V2)activate#(V2)
U32#(tt, V)U33#(isNatList(activate(V)))U112#(tt, L, N)isNat#(activate(N))
U93#(tt, V1, V2)activate#(V2)U21#(tt, V1)activate#(V1)
U32#(tt, V)activate#(V)U11#(tt, V1)activate#(V1)
U41#(tt, V1, V2)activate#(V2)U11#(tt, V1)isNatIListKind#(activate(V1))
U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))U131#(tt, IL, M, N)activate#(M)
isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))U134#(tt, IL, M, N)activate#(IL)
U113#(tt, L, N)activate#(N)U43#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N)activate#(IL)
activate#(n__take(X1, X2))activate#(X1)U91#(tt, V1, V2)activate#(V1)
U44#(tt, V1, V2)activate#(V2)U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2))activate#(V1)isNat#(n__length(V1))isNatIListKind#(activate(V1))
U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U42#(tt, V1, V2)isNatIListKind#(activate(V2))
take#(0, IL)isNatIList#(IL)U121#(tt, IL)isNatIListKind#(activate(IL))
U136#(tt, IL, M, N)activate#(M)U12#(tt, V1)activate#(V1)
U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U104#(tt, V1, V2)activate#(V2)
U21#(tt, V1)isNatKind#(activate(V1))activate#(n__take(X1, X2))take#(activate(X1), activate(X2))
U45#(tt, V2)activate#(V2)U135#(tt, IL, M, N)isNatKind#(activate(N))
U95#(tt, V2)activate#(V2)length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)
U45#(tt, V2)isNatIList#(activate(V2))U135#(tt, IL, M, N)activate#(M)
U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2))activate#(X1)U44#(tt, V1, V2)activate#(V1)
U91#(tt, V1, V2)isNatKind#(activate(V1))U101#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNat#(n__s(V1))activate#(V1)
U134#(tt, IL, M, N)isNat#(activate(N))U105#(tt, V2)U106#(isNatIList(activate(V2)))
U41#(tt, V1, V2)isNatKind#(activate(V1))U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatIList#(V)isNatIListKind#(activate(V))isNatList#(n__cons(V1, V2))activate#(V2)
isNatKind#(n__length(V1))isNatIListKind#(activate(V1))U103#(tt, V1, V2)activate#(V2)
isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))U112#(tt, L, N)activate#(N)
U42#(tt, V1, V2)activate#(V1)U133#(tt, IL, M, N)activate#(IL)
U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))
U112#(tt, L, N)activate#(L)U41#(tt, V1, V2)activate#(V1)
U42#(tt, V1, V2)activate#(V2)U103#(tt, V1, V2)activate#(V1)
U22#(tt, V1)activate#(V1)U12#(tt, V1)isNatList#(activate(V1))
U92#(tt, V1, V2)activate#(V2)U121#(tt, IL)U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))U136#(tt, IL, M, N)activate#(N)
U111#(tt, L, N)activate#(N)isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))U133#(tt, IL, M, N)activate#(M)
U103#(tt, V1, V2)isNatIListKind#(activate(V2))activate#(n__length(X))activate#(X)
U22#(tt, V1)isNat#(activate(V1))U111#(tt, L, N)activate#(L)
U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N)activate#(N)
U51#(tt, V2)isNatIListKind#(activate(V2))U101#(tt, V1, V2)activate#(V2)
U61#(tt, V2)isNatIListKind#(activate(V2))U133#(tt, IL, M, N)isNatKind#(activate(M))
U92#(tt, V1, V2)isNatIListKind#(activate(V2))U135#(tt, IL, M, N)activate#(N)
U132#(tt, IL, M, N)activate#(N)U104#(tt, V1, V2)activate#(V1)
isNatIListKind#(n__take(V1, V2))activate#(V2)isNatIList#(V)activate#(V)
U61#(tt, V2)activate#(V2)activate#(n__take(X1, X2))activate#(X2)
U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))
take#(0, IL)U121#(isNatIList(IL), IL)U131#(tt, IL, M, N)isNatIListKind#(activate(IL))
isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))U94#(tt, V1, V2)isNat#(activate(V1))
U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2)activate#(V1)
U104#(tt, V1, V2)isNat#(activate(V1))U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U43#(tt, V1, V2)isNatIListKind#(activate(V2))U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))activate#(V1)length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U132#(tt, IL, M, N)isNat#(activate(M))take#(s(M), cons(N, IL))isNatIList#(activate(IL))
U101#(tt, V1, V2)isNatKind#(activate(V1))U12#(tt, V1)U13#(isNatList(activate(V1)))
isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))U94#(tt, V1, V2)activate#(V2)
U51#(tt, V2)U52#(isNatIListKind(activate(V2)))isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
activate#(n__cons(X1, X2))cons#(activate(X1), X2)U121#(tt, IL)activate#(IL)
U94#(tt, V1, V2)activate#(V1)U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))
U51#(tt, V2)activate#(V2)U31#(tt, V)isNatIListKind#(activate(V))
isNat#(n__length(V1))activate#(V1)isNatIListKind#(n__cons(V1, V2))activate#(V2)
length#(nil)0#U111#(tt, L, N)isNatIListKind#(activate(L))
U44#(tt, V1, V2)isNat#(activate(V1))U105#(tt, V2)isNatIList#(activate(V2))
U113#(tt, L, N)isNatKind#(activate(N))U113#(tt, L, N)activate#(L)
U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))
activate#(n__length(X))length#(activate(X))take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)
U134#(tt, IL, M, N)activate#(M)length#(cons(N, L))isNatList#(activate(L))
U136#(tt, IL, M, N)activate#(IL)isNatList#(n__take(V1, V2))activate#(V2)
U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U95#(tt, V2)isNatList#(activate(V2))
U134#(tt, IL, M, N)activate#(N)U132#(tt, IL, M, N)activate#(M)
U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(s(M), cons(N, IL))activate#(IL)isNatIListKind#(n__cons(V1, V2))activate#(V1)
isNatKind#(n__s(V1))isNatKind#(activate(V1))U114#(tt, L)activate#(L)
isNat#(n__s(V1))isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2))activate#(V2)
activate#(n__zeros)zeros#U92#(tt, V1, V2)activate#(V1)
activate#(n__s(X))activate#(X)U93#(tt, V1, V2)isNatIListKind#(activate(V2))
isNatKind#(n__length(V1))activate#(V1)isNatKind#(n__s(V1))activate#(V1)
U32#(tt, V)isNatList#(activate(V))U93#(tt, V1, V2)activate#(V1)
U102#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)isNatIListKind#(activate(V2))
U105#(tt, V2)activate#(V2)isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))
U131#(tt, IL, M, N)activate#(N)isNatList#(n__take(V1, V2))isNatKind#(activate(V1))
U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatKind#(n__length(V1))U71#(isNatIListKind(activate(V1)))
U31#(tt, V)activate#(V)U132#(tt, IL, M, N)activate#(IL)
U131#(tt, IL, M, N)activate#(IL)U114#(tt, L)length#(activate(L))
U91#(tt, V1, V2)activate#(V2)U122#(tt)nil#
U102#(tt, V1, V2)activate#(V2)U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))
U32#(tt, V)U33#(isNatList(activate(V)))U112#(tt, L, N)isNat#(activate(N))
U93#(tt, V1, V2)activate#(V2)zeros#cons#(0, n__zeros)
U21#(tt, V1)activate#(V1)U11#(tt, V1)activate#(V1)
U32#(tt, V)activate#(V)U41#(tt, V1, V2)activate#(V2)
U95#(tt, V2)U96#(isNatList(activate(V2)))U11#(tt, V1)isNatIListKind#(activate(V1))
U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))
U131#(tt, IL, M, N)activate#(M)U134#(tt, IL, M, N)activate#(IL)
U113#(tt, L, N)activate#(N)U43#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N)activate#(IL)
activate#(n__take(X1, X2))activate#(X1)U91#(tt, V1, V2)activate#(V1)
U44#(tt, V1, V2)activate#(V2)U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2))activate#(V1)isNat#(n__length(V1))isNatIListKind#(activate(V1))
U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))activate#(n__s(X))s#(activate(X))
take#(0, IL)isNatIList#(IL)U42#(tt, V1, V2)isNatIListKind#(activate(V2))
U121#(tt, IL)isNatIListKind#(activate(IL))U136#(tt, IL, M, N)activate#(M)
U104#(tt, V1, V2)activate#(V2)U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U12#(tt, V1)activate#(V1)zeros#0#
U21#(tt, V1)isNatKind#(activate(V1))activate#(n__take(X1, X2))take#(activate(X1), activate(X2))
U135#(tt, IL, M, N)isNatKind#(activate(N))U45#(tt, V2)activate#(V2)
U95#(tt, V2)activate#(V2)length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N)activate#(M)U45#(tt, V2)isNatIList#(activate(V2))
U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2))activate#(X1)U44#(tt, V1, V2)activate#(V1)
U91#(tt, V1, V2)isNatKind#(activate(V1))U101#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U41#(tt, V1, V2)isNatKind#(activate(V1))
U134#(tt, IL, M, N)isNat#(activate(N))U105#(tt, V2)U106#(isNatIList(activate(V2)))
isNat#(n__s(V1))activate#(V1)U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatIList#(V)isNatIListKind#(activate(V))isNatKind#(n__length(V1))isNatIListKind#(activate(V1))
isNatList#(n__cons(V1, V2))activate#(V2)U103#(tt, V1, V2)activate#(V2)
isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))U42#(tt, V1, V2)activate#(V1)
U112#(tt, L, N)activate#(N)U133#(tt, IL, M, N)activate#(IL)
U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))
U112#(tt, L, N)activate#(L)U41#(tt, V1, V2)activate#(V1)
U42#(tt, V1, V2)activate#(V2)U103#(tt, V1, V2)activate#(V1)
U22#(tt, V1)activate#(V1)activate#(n__0)0#
U12#(tt, V1)isNatList#(activate(V1))U92#(tt, V1, V2)activate#(V2)
U121#(tt, IL)U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))
U22#(tt, V1)U23#(isNat(activate(V1)))U136#(tt, IL, M, N)activate#(N)
U111#(tt, L, N)activate#(N)isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))
isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))U133#(tt, IL, M, N)activate#(M)
U103#(tt, V1, V2)isNatIListKind#(activate(V2))activate#(n__length(X))activate#(X)
U22#(tt, V1)isNat#(activate(V1))U111#(tt, L, N)activate#(L)
U45#(tt, V2)U46#(isNatIList(activate(V2)))U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N)activate#(N)U51#(tt, V2)isNatIListKind#(activate(V2))
U101#(tt, V1, V2)activate#(V2)U61#(tt, V2)isNatIListKind#(activate(V2))
isNatKind#(n__s(V1))U81#(isNatKind(activate(V1)))U133#(tt, IL, M, N)isNatKind#(activate(M))
U61#(tt, V2)U62#(isNatIListKind(activate(V2)))U92#(tt, V1, V2)isNatIListKind#(activate(V2))
U135#(tt, IL, M, N)activate#(N)U132#(tt, IL, M, N)activate#(N)
U104#(tt, V1, V2)activate#(V1)isNatIListKind#(n__take(V1, V2))activate#(V2)
U61#(tt, V2)activate#(V2)isNatIList#(V)activate#(V)
activate#(n__take(X1, X2))activate#(X2)U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))take#(0, IL)U121#(isNatIList(IL), IL)
U131#(tt, IL, M, N)isNatIListKind#(activate(IL))isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))
U94#(tt, V1, V2)isNat#(activate(V1))U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2)activate#(V1)U104#(tt, V1, V2)isNat#(activate(V1))
U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))activate#(n__nil)nil#
U114#(tt, L)s#(length(activate(L)))U43#(tt, V1, V2)isNatIListKind#(activate(V2))
U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2))activate#(V1)
length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, U122, 0, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, U51, s, isNatList, tt, take, U52, U81, U11, U12, U13, U102, U103, nil, U101

Strategy


The following SCCs where found

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U121#(tt, IL) → activate#(IL)U94#(tt, V1, V2) → activate#(V1)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
length#(nil) → 0#U44#(tt, V1, V2) → isNat#(activate(V1))
U105#(tt, V2) → isNatIList#(activate(V2))U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U113#(tt, L, N) → isNatKind#(activate(N))U113#(tt, L, N) → activate#(L)
isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))activate#(n__length(X)) → length#(activate(X))
take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)length#(cons(N, L)) → isNatList#(activate(L))
U134#(tt, IL, M, N) → activate#(M)isNatList#(n__take(V1, V2)) → activate#(V2)
U136#(tt, IL, M, N) → activate#(IL)U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U95#(tt, V2) → isNatList#(activate(V2))U134#(tt, IL, M, N) → activate#(N)
U132#(tt, IL, M, N) → activate#(M)U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(s(M), cons(N, IL)) → activate#(IL)
isNatKind#(n__s(V1)) → isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2)) → activate#(V1)
U114#(tt, L) → activate#(L)isNat#(n__s(V1)) → isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2)) → activate#(V2)activate#(n__s(X)) → activate#(X)
U92#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → isNatIListKind#(activate(V2))
isNatKind#(n__length(V1)) → activate#(V1)isNatKind#(n__s(V1)) → activate#(V1)
U32#(tt, V) → isNatList#(activate(V))U102#(tt, V1, V2) → isNatIListKind#(activate(V2))
U102#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → activate#(V1)
U105#(tt, V2) → activate#(V2)isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(N)isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U31#(tt, V) → activate#(V)
U132#(tt, IL, M, N) → activate#(IL)U114#(tt, L) → length#(activate(L))
U131#(tt, IL, M, N) → activate#(IL)U91#(tt, V1, V2) → activate#(V2)
U122#(tt) → nil#U102#(tt, V1, V2) → activate#(V2)
U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))U112#(tt, L, N) → isNat#(activate(N))
U93#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → activate#(V1)
U11#(tt, V1) → activate#(V1)U32#(tt, V) → activate#(V)
U41#(tt, V1, V2) → activate#(V2)U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U42#(tt, V1, V2) → isNatIListKind#(activate(V2))
U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U104#(tt, V1, V2) → activate#(V2)U12#(tt, V1) → activate#(V1)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N) → activate#(M)U45#(tt, V2) → isNatIList#(activate(V2))
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U134#(tt, IL, M, N) → isNat#(activate(N))
U105#(tt, V2) → U106#(isNatIList(activate(V2)))U41#(tt, V1, V2) → isNatKind#(activate(V1))
isNat#(n__s(V1)) → activate#(V1)U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))isNatIList#(V) → isNatIListKind#(activate(V))
isNatList#(n__cons(V1, V2)) → activate#(V2)isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → activate#(V2)U112#(tt, L, N) → activate#(N)
U42#(tt, V1, V2) → activate#(V1)U133#(tt, IL, M, N) → activate#(IL)
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → activate#(L)U41#(tt, V1, V2) → activate#(V1)
U42#(tt, V1, V2) → activate#(V2)U103#(tt, V1, V2) → activate#(V1)
U22#(tt, V1) → activate#(V1)U12#(tt, V1) → isNatList#(activate(V1))
U92#(tt, V1, V2) → activate#(V2)U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U136#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))
isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(M)
activate#(n__length(X)) → activate#(X)U103#(tt, V1, V2) → isNatIListKind#(activate(V2))
U22#(tt, V1) → isNat#(activate(V1))U111#(tt, L, N) → activate#(L)
U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(N)
U51#(tt, V2) → isNatIListKind#(activate(V2))U101#(tt, V1, V2) → activate#(V2)
U61#(tt, V2) → isNatIListKind#(activate(V2))U92#(tt, V1, V2) → isNatIListKind#(activate(V2))
U133#(tt, IL, M, N) → isNatKind#(activate(M))U135#(tt, IL, M, N) → activate#(N)
U132#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__take(V1, V2)) → activate#(V2)
U104#(tt, V1, V2) → activate#(V1)activate#(n__take(X1, X2)) → activate#(X2)
U61#(tt, V2) → activate#(V2)isNatIList#(V) → activate#(V)
U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(0, IL) → U121#(isNatIList(IL), IL)
U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))
U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))U94#(tt, V1, V2) → isNat#(activate(V1))
U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2) → activate#(V1)
U104#(tt, V1, V2) → isNat#(activate(V1))U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U114#(tt, L) → s#(length(activate(L)))U43#(tt, V1, V2) → isNatIListKind#(activate(V2))
U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → activate#(V1)
length#(cons(N, L)) → activate#(L)

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U94#(tt, V1, V2) → activate#(V1)U121#(tt, IL) → activate#(IL)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)length#(nil) → 0#
U111#(tt, L, N) → isNatIListKind#(activate(L))U44#(tt, V1, V2) → isNat#(activate(V1))
U105#(tt, V2) → isNatIList#(activate(V2))U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U113#(tt, L, N) → isNatKind#(activate(N))U113#(tt, L, N) → activate#(L)
isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))activate#(n__length(X)) → length#(activate(X))
take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)U134#(tt, IL, M, N) → activate#(M)
length#(cons(N, L)) → isNatList#(activate(L))U136#(tt, IL, M, N) → activate#(IL)
isNatList#(n__take(V1, V2)) → activate#(V2)U95#(tt, V2) → isNatList#(activate(V2))
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → activate#(N)
isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))U132#(tt, IL, M, N) → activate#(M)
U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))take#(s(M), cons(N, IL)) → activate#(IL)
isNatKind#(n__s(V1)) → isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2)) → activate#(V1)
U114#(tt, L) → activate#(L)isNat#(n__s(V1)) → isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2)) → activate#(V2)activate#(n__s(X)) → activate#(X)
U92#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → isNatIListKind#(activate(V2))
isNatKind#(n__length(V1)) → activate#(V1)isNatKind#(n__s(V1)) → activate#(V1)
U32#(tt, V) → isNatList#(activate(V))U102#(tt, V1, V2) → isNatIListKind#(activate(V2))
U93#(tt, V1, V2) → activate#(V1)U102#(tt, V1, V2) → activate#(V1)
U105#(tt, V2) → activate#(V2)U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U31#(tt, V) → activate#(V)
U132#(tt, IL, M, N) → activate#(IL)U131#(tt, IL, M, N) → activate#(IL)
U114#(tt, L) → length#(activate(L))U91#(tt, V1, V2) → activate#(V2)
U122#(tt) → nil#U102#(tt, V1, V2) → activate#(V2)
U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))U112#(tt, L, N) → isNat#(activate(N))
U93#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → activate#(V1)
U11#(tt, V1) → activate#(V1)U32#(tt, V) → activate#(V)
U41#(tt, V1, V2) → activate#(V2)U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U42#(tt, V1, V2) → isNatIListKind#(activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U12#(tt, V1) → activate#(V1)
U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U104#(tt, V1, V2) → activate#(V2)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N) → activate#(M)U45#(tt, V2) → isNatIList#(activate(V2))
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNat#(n__s(V1)) → activate#(V1)
U134#(tt, IL, M, N) → isNat#(activate(N))U41#(tt, V1, V2) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))
isNatIList#(V) → isNatIListKind#(activate(V))isNatList#(n__cons(V1, V2)) → activate#(V2)
isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → activate#(V2)
U112#(tt, L, N) → activate#(N)U42#(tt, V1, V2) → activate#(V1)
U133#(tt, IL, M, N) → activate#(IL)U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U112#(tt, L, N) → activate#(L)
U41#(tt, V1, V2) → activate#(V1)U42#(tt, V1, V2) → activate#(V2)
U103#(tt, V1, V2) → activate#(V1)U22#(tt, V1) → activate#(V1)
U12#(tt, V1) → isNatList#(activate(V1))U92#(tt, V1, V2) → activate#(V2)
U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))
U111#(tt, L, N) → activate#(N)U136#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(M)activate#(n__length(X)) → activate#(X)
U103#(tt, V1, V2) → isNatIListKind#(activate(V2))U22#(tt, V1) → isNat#(activate(V1))
U111#(tt, L, N) → activate#(L)U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U132#(tt, IL, M, N) → activate#(N)U135#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))take#(0, IL) → U121#(isNatIList(IL), IL)
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L) → s#(length(activate(L)))
U43#(tt, V1, V2) → isNatIListKind#(activate(V2))U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → activate#(V1)length#(cons(N, L)) → activate#(L)

take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))U132#(tt, IL, M, N) → isNat#(activate(M))
U101#(tt, V1, V2) → isNatKind#(activate(V1))U12#(tt, V1) → U13#(isNatList(activate(V1)))
isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))U94#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → activate#(V1)U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))
isNatIListKind#(n__take(V1, V2)) → activate#(V1)U94#(tt, V1, V2) → activate#(V1)
U121#(tt, IL) → activate#(IL)U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))
U51#(tt, V2) → activate#(V2)U31#(tt, V) → isNatIListKind#(activate(V))
isNat#(n__length(V1)) → activate#(V1)isNatIListKind#(n__cons(V1, V2)) → activate#(V2)
U111#(tt, L, N) → isNatIListKind#(activate(L))U44#(tt, V1, V2) → isNat#(activate(V1))
U105#(tt, V2) → isNatIList#(activate(V2))U113#(tt, L, N) → isNatKind#(activate(N))
U113#(tt, L, N) → activate#(L)U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))activate#(n__length(X)) → length#(activate(X))
take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)U134#(tt, IL, M, N) → activate#(M)
length#(cons(N, L)) → isNatList#(activate(L))U136#(tt, IL, M, N) → activate#(IL)
isNatList#(n__take(V1, V2)) → activate#(V2)U95#(tt, V2) → isNatList#(activate(V2))
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → activate#(N)
U132#(tt, IL, M, N) → activate#(M)U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(s(M), cons(N, IL)) → activate#(IL)
isNatKind#(n__s(V1)) → isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2)) → activate#(V1)
U114#(tt, L) → activate#(L)isNat#(n__s(V1)) → isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2)) → activate#(V2)activate#(n__s(X)) → activate#(X)
U92#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → isNatIListKind#(activate(V2))
isNatKind#(n__length(V1)) → activate#(V1)isNatKind#(n__s(V1)) → activate#(V1)
U32#(tt, V) → isNatList#(activate(V))U102#(tt, V1, V2) → isNatIListKind#(activate(V2))
U93#(tt, V1, V2) → activate#(V1)U102#(tt, V1, V2) → activate#(V1)
U105#(tt, V2) → activate#(V2)U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U31#(tt, V) → activate#(V)
U132#(tt, IL, M, N) → activate#(IL)U114#(tt, L) → length#(activate(L))
U131#(tt, IL, M, N) → activate#(IL)U91#(tt, V1, V2) → activate#(V2)
U122#(tt) → nil#U102#(tt, V1, V2) → activate#(V2)
U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))U112#(tt, L, N) → isNat#(activate(N))
U93#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → activate#(V1)
U11#(tt, V1) → activate#(V1)U32#(tt, V) → activate#(V)
U41#(tt, V1, V2) → activate#(V2)U95#(tt, V2) → U96#(isNatList(activate(V2)))
U11#(tt, V1) → isNatIListKind#(activate(V1))U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))
isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(M)
U134#(tt, IL, M, N) → activate#(IL)U113#(tt, L, N) → activate#(N)
U43#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N) → activate#(IL)activate#(n__take(X1, X2)) → activate#(X1)
U91#(tt, V1, V2) → activate#(V1)U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → activate#(V2)isNatList#(n__cons(V1, V2)) → activate#(V1)
isNat#(n__length(V1)) → isNatIListKind#(activate(V1))take#(0, IL) → isNatIList#(IL)
U42#(tt, V1, V2) → isNatIListKind#(activate(V2))U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U121#(tt, IL) → isNatIListKind#(activate(IL))U136#(tt, IL, M, N) → activate#(M)
U12#(tt, V1) → activate#(V1)U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U104#(tt, V1, V2) → activate#(V2)activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))
U21#(tt, V1) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → isNatKind#(activate(N))
U45#(tt, V2) → activate#(V2)U95#(tt, V2) → activate#(V2)
length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)U135#(tt, IL, M, N) → activate#(M)
U45#(tt, V2) → isNatIList#(activate(V2))U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2)) → activate#(X1)
U44#(tt, V1, V2) → activate#(V1)U91#(tt, V1, V2) → isNatKind#(activate(V1))
U101#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNat#(n__s(V1)) → activate#(V1)U134#(tt, IL, M, N) → isNat#(activate(N))
U105#(tt, V2) → U106#(isNatIList(activate(V2)))U41#(tt, V1, V2) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))
isNatIList#(V) → isNatIListKind#(activate(V))isNatList#(n__cons(V1, V2)) → activate#(V2)
isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → activate#(V2)
U112#(tt, L, N) → activate#(N)U42#(tt, V1, V2) → activate#(V1)
U133#(tt, IL, M, N) → activate#(IL)U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))
U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N) → activate#(L)
U41#(tt, V1, V2) → activate#(V1)U42#(tt, V1, V2) → activate#(V2)
U103#(tt, V1, V2) → activate#(V1)U22#(tt, V1) → activate#(V1)
U12#(tt, V1) → isNatList#(activate(V1))U92#(tt, V1, V2) → activate#(V2)
U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))
U111#(tt, L, N) → activate#(N)U136#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(M)activate#(n__length(X)) → activate#(X)
U103#(tt, V1, V2) → isNatIListKind#(activate(V2))U22#(tt, V1) → isNat#(activate(V1))
U111#(tt, L, N) → activate#(L)U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U135#(tt, IL, M, N) → activate#(N)U132#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))take#(0, IL) → U121#(isNatIList(IL), IL)
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U43#(tt, V1, V2) → isNatIListKind#(activate(V2))
U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → activate#(V1)
length#(cons(N, L)) → activate#(L)

take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))U132#(tt, IL, M, N) → isNat#(activate(M))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U121#(tt, IL) → activate#(IL)U94#(tt, V1, V2) → activate#(V1)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
length#(nil) → 0#U44#(tt, V1, V2) → isNat#(activate(V1))
U105#(tt, V2) → isNatIList#(activate(V2))U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U113#(tt, L, N) → isNatKind#(activate(N))U113#(tt, L, N) → activate#(L)
isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))activate#(n__length(X)) → length#(activate(X))
take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)length#(cons(N, L)) → isNatList#(activate(L))
U134#(tt, IL, M, N) → activate#(M)isNatList#(n__take(V1, V2)) → activate#(V2)
U136#(tt, IL, M, N) → activate#(IL)U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U95#(tt, V2) → isNatList#(activate(V2))U134#(tt, IL, M, N) → activate#(N)
U132#(tt, IL, M, N) → activate#(M)U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(s(M), cons(N, IL)) → activate#(IL)
isNatKind#(n__s(V1)) → isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2)) → activate#(V1)
U114#(tt, L) → activate#(L)isNat#(n__s(V1)) → isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2)) → activate#(V2)activate#(n__s(X)) → activate#(X)
U92#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → isNatIListKind#(activate(V2))
isNatKind#(n__length(V1)) → activate#(V1)isNatKind#(n__s(V1)) → activate#(V1)
U32#(tt, V) → isNatList#(activate(V))U102#(tt, V1, V2) → isNatIListKind#(activate(V2))
U102#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → activate#(V1)
U105#(tt, V2) → activate#(V2)isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(N)isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U31#(tt, V) → activate#(V)
U132#(tt, IL, M, N) → activate#(IL)U114#(tt, L) → length#(activate(L))
U131#(tt, IL, M, N) → activate#(IL)U91#(tt, V1, V2) → activate#(V2)
U122#(tt) → nil#U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))
U102#(tt, V1, V2) → activate#(V2)U32#(tt, V) → U33#(isNatList(activate(V)))
U112#(tt, L, N) → isNat#(activate(N))U93#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → activate#(V1)U11#(tt, V1) → activate#(V1)
U32#(tt, V) → activate#(V)U41#(tt, V1, V2) → activate#(V2)
U11#(tt, V1) → isNatIListKind#(activate(V1))U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))
isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(M)
U134#(tt, IL, M, N) → activate#(IL)U113#(tt, L, N) → activate#(N)
U43#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N) → activate#(IL)activate#(n__take(X1, X2)) → activate#(X1)
U91#(tt, V1, V2) → activate#(V1)U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → activate#(V2)isNatList#(n__cons(V1, V2)) → activate#(V1)
isNat#(n__length(V1)) → isNatIListKind#(activate(V1))take#(0, IL) → isNatIList#(IL)
U42#(tt, V1, V2) → isNatIListKind#(activate(V2))U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U121#(tt, IL) → isNatIListKind#(activate(IL))U136#(tt, IL, M, N) → activate#(M)
U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U104#(tt, V1, V2) → activate#(V2)
U12#(tt, V1) → activate#(V1)activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))
U21#(tt, V1) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → isNatKind#(activate(N))
U45#(tt, V2) → activate#(V2)U95#(tt, V2) → activate#(V2)
length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)U135#(tt, IL, M, N) → activate#(M)
U45#(tt, V2) → isNatIList#(activate(V2))U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2)) → activate#(X1)
U44#(tt, V1, V2) → activate#(V1)U91#(tt, V1, V2) → isNatKind#(activate(V1))
U101#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U134#(tt, IL, M, N) → isNat#(activate(N))U105#(tt, V2) → U106#(isNatIList(activate(V2)))
U41#(tt, V1, V2) → isNatKind#(activate(V1))isNat#(n__s(V1)) → activate#(V1)
U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))
isNatIList#(V) → isNatIListKind#(activate(V))isNatList#(n__cons(V1, V2)) → activate#(V2)
isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → activate#(V2)
U112#(tt, L, N) → activate#(N)U42#(tt, V1, V2) → activate#(V1)
U133#(tt, IL, M, N) → activate#(IL)U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))
U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N) → activate#(L)
U41#(tt, V1, V2) → activate#(V1)U42#(tt, V1, V2) → activate#(V2)
U103#(tt, V1, V2) → activate#(V1)U22#(tt, V1) → activate#(V1)
U12#(tt, V1) → isNatList#(activate(V1))U92#(tt, V1, V2) → activate#(V2)
U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))
U111#(tt, L, N) → activate#(N)U136#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(M)activate#(n__length(X)) → activate#(X)
U103#(tt, V1, V2) → isNatIListKind#(activate(V2))U22#(tt, V1) → isNat#(activate(V1))
U111#(tt, L, N) → activate#(L)U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U132#(tt, IL, M, N) → activate#(N)U135#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L) → s#(length(activate(L)))
U43#(tt, V1, V2) → isNatIListKind#(activate(V2))U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → activate#(V1)length#(cons(N, L)) → activate#(L)

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U94#(tt, V1, V2) → activate#(V1)U121#(tt, IL) → activate#(IL)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
U44#(tt, V1, V2) → isNat#(activate(V1))U105#(tt, V2) → isNatIList#(activate(V2))
U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U113#(tt, L, N) → isNatKind#(activate(N))
U113#(tt, L, N) → activate#(L)isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
activate#(n__length(X)) → length#(activate(X))take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)
length#(cons(N, L)) → isNatList#(activate(L))U134#(tt, IL, M, N) → activate#(M)
isNatList#(n__take(V1, V2)) → activate#(V2)U136#(tt, IL, M, N) → activate#(IL)
U95#(tt, V2) → isNatList#(activate(V2))U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U134#(tt, IL, M, N) → activate#(N)U132#(tt, IL, M, N) → activate#(M)
U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(s(M), cons(N, IL)) → activate#(IL)isNatKind#(n__s(V1)) → isNatKind#(activate(V1))
isNatIListKind#(n__cons(V1, V2)) → activate#(V1)U114#(tt, L) → activate#(L)
isNat#(n__s(V1)) → isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2)) → activate#(V2)
activate#(n__s(X)) → activate#(X)U92#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → isNatIListKind#(activate(V2))isNatKind#(n__length(V1)) → activate#(V1)
isNatKind#(n__s(V1)) → activate#(V1)U32#(tt, V) → isNatList#(activate(V))
U102#(tt, V1, V2) → isNatIListKind#(activate(V2))U102#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → activate#(V1)U105#(tt, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U31#(tt, V) → activate#(V)U132#(tt, IL, M, N) → activate#(IL)
U131#(tt, IL, M, N) → activate#(IL)U114#(tt, L) → length#(activate(L))
U91#(tt, V1, V2) → activate#(V2)U122#(tt) → nil#
U102#(tt, V1, V2) → activate#(V2)U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))
U112#(tt, L, N) → isNat#(activate(N))U93#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → activate#(V1)U11#(tt, V1) → activate#(V1)
U32#(tt, V) → activate#(V)U41#(tt, V1, V2) → activate#(V2)
U11#(tt, V1) → isNatIListKind#(activate(V1))U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))
isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(M)
U134#(tt, IL, M, N) → activate#(IL)U113#(tt, L, N) → activate#(N)
U43#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N) → activate#(IL)activate#(n__take(X1, X2)) → activate#(X1)
U91#(tt, V1, V2) → activate#(V1)U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → activate#(V2)isNatList#(n__cons(V1, V2)) → activate#(V1)
isNat#(n__length(V1)) → isNatIListKind#(activate(V1))take#(0, IL) → isNatIList#(IL)
U42#(tt, V1, V2) → isNatIListKind#(activate(V2))U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U121#(tt, IL) → isNatIListKind#(activate(IL))U136#(tt, IL, M, N) → activate#(M)
U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U104#(tt, V1, V2) → activate#(V2)
U12#(tt, V1) → activate#(V1)activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))
U21#(tt, V1) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → isNatKind#(activate(N))
U45#(tt, V2) → activate#(V2)U95#(tt, V2) → activate#(V2)
length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)U135#(tt, IL, M, N) → activate#(M)
U45#(tt, V2) → isNatIList#(activate(V2))U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2)) → activate#(X1)
U44#(tt, V1, V2) → activate#(V1)U91#(tt, V1, V2) → isNatKind#(activate(V1))
U101#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNat#(n__s(V1)) → activate#(V1)U134#(tt, IL, M, N) → isNat#(activate(N))
U105#(tt, V2) → U106#(isNatIList(activate(V2)))U41#(tt, V1, V2) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))
isNatIList#(V) → isNatIListKind#(activate(V))isNatList#(n__cons(V1, V2)) → activate#(V2)
isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → activate#(V2)
U112#(tt, L, N) → activate#(N)U42#(tt, V1, V2) → activate#(V1)
U133#(tt, IL, M, N) → activate#(IL)U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))
U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N) → activate#(L)
U41#(tt, V1, V2) → activate#(V1)U42#(tt, V1, V2) → activate#(V2)
U103#(tt, V1, V2) → activate#(V1)U22#(tt, V1) → activate#(V1)
U12#(tt, V1) → isNatList#(activate(V1))U92#(tt, V1, V2) → activate#(V2)
U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))
U111#(tt, L, N) → activate#(N)U136#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(M)activate#(n__length(X)) → activate#(X)
U103#(tt, V1, V2) → isNatIListKind#(activate(V2))U22#(tt, V1) → isNat#(activate(V1))
U111#(tt, L, N) → activate#(L)U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U132#(tt, IL, M, N) → activate#(N)U135#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))take#(0, IL) → U121#(isNatIList(IL), IL)
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L) → s#(length(activate(L)))
U43#(tt, V1, V2) → isNatIListKind#(activate(V2))U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → activate#(V1)length#(cons(N, L)) → activate#(L)

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U94#(tt, V1, V2) → activate#(V1)U121#(tt, IL) → activate#(IL)
U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
length#(nil) → 0#U44#(tt, V1, V2) → isNat#(activate(V1))
U105#(tt, V2) → isNatIList#(activate(V2))U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U113#(tt, L, N) → activate#(L)U113#(tt, L, N) → isNatKind#(activate(N))
isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))activate#(n__length(X)) → length#(activate(X))
take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)U134#(tt, IL, M, N) → activate#(M)
length#(cons(N, L)) → isNatList#(activate(L))U136#(tt, IL, M, N) → activate#(IL)
isNatList#(n__take(V1, V2)) → activate#(V2)U95#(tt, V2) → isNatList#(activate(V2))
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → activate#(N)
isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
U132#(tt, IL, M, N) → activate#(M)take#(s(M), cons(N, IL)) → activate#(IL)
isNatKind#(n__s(V1)) → isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2)) → activate#(V1)
U114#(tt, L) → activate#(L)isNat#(n__s(V1)) → isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2)) → activate#(V2)activate#(n__s(X)) → activate#(X)
U92#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → isNatIListKind#(activate(V2))
isNatKind#(n__length(V1)) → activate#(V1)isNatKind#(n__s(V1)) → activate#(V1)
U32#(tt, V) → isNatList#(activate(V))U102#(tt, V1, V2) → isNatIListKind#(activate(V2))
U93#(tt, V1, V2) → activate#(V1)U102#(tt, V1, V2) → activate#(V1)
U105#(tt, V2) → activate#(V2)U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U31#(tt, V) → activate#(V)
U132#(tt, IL, M, N) → activate#(IL)U114#(tt, L) → length#(activate(L))
U131#(tt, IL, M, N) → activate#(IL)U91#(tt, V1, V2) → activate#(V2)
U102#(tt, V1, V2) → activate#(V2)U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))
U112#(tt, L, N) → isNat#(activate(N))U93#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → activate#(V1)U11#(tt, V1) → activate#(V1)
U32#(tt, V) → activate#(V)U41#(tt, V1, V2) → activate#(V2)
U11#(tt, V1) → isNatIListKind#(activate(V1))U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))
isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(M)
U134#(tt, IL, M, N) → activate#(IL)U113#(tt, L, N) → activate#(N)
U43#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N) → activate#(IL)activate#(n__take(X1, X2)) → activate#(X1)
U91#(tt, V1, V2) → activate#(V1)U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → activate#(V2)isNatList#(n__cons(V1, V2)) → activate#(V1)
isNat#(n__length(V1)) → isNatIListKind#(activate(V1))take#(0, IL) → isNatIList#(IL)
U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U42#(tt, V1, V2) → isNatIListKind#(activate(V2))
U121#(tt, IL) → isNatIListKind#(activate(IL))U136#(tt, IL, M, N) → activate#(M)
U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U12#(tt, V1) → activate#(V1)
U104#(tt, V1, V2) → activate#(V2)activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))
U21#(tt, V1) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → isNatKind#(activate(N))
U45#(tt, V2) → activate#(V2)U95#(tt, V2) → activate#(V2)
length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)U135#(tt, IL, M, N) → activate#(M)
U45#(tt, V2) → isNatIList#(activate(V2))U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2)) → activate#(X1)
U44#(tt, V1, V2) → activate#(V1)U91#(tt, V1, V2) → isNatKind#(activate(V1))
U101#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNat#(n__s(V1)) → activate#(V1)U134#(tt, IL, M, N) → isNat#(activate(N))
U105#(tt, V2) → U106#(isNatIList(activate(V2)))U41#(tt, V1, V2) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))
isNatIList#(V) → isNatIListKind#(activate(V))isNatList#(n__cons(V1, V2)) → activate#(V2)
isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → activate#(V2)
U112#(tt, L, N) → activate#(N)U42#(tt, V1, V2) → activate#(V1)
U133#(tt, IL, M, N) → activate#(IL)U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U112#(tt, L, N) → activate#(L)
U41#(tt, V1, V2) → activate#(V1)U42#(tt, V1, V2) → activate#(V2)
U103#(tt, V1, V2) → activate#(V1)U22#(tt, V1) → activate#(V1)
U12#(tt, V1) → isNatList#(activate(V1))U92#(tt, V1, V2) → activate#(V2)
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U136#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))
isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(M)
activate#(n__length(X)) → activate#(X)U103#(tt, V1, V2) → isNatIListKind#(activate(V2))
U22#(tt, V1) → isNat#(activate(V1))U111#(tt, L, N) → activate#(L)
U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(N)
U51#(tt, V2) → isNatIListKind#(activate(V2))U101#(tt, V1, V2) → activate#(V2)
U61#(tt, V2) → isNatIListKind#(activate(V2))U92#(tt, V1, V2) → isNatIListKind#(activate(V2))
U133#(tt, IL, M, N) → isNatKind#(activate(M))U135#(tt, IL, M, N) → activate#(N)
U132#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__take(V1, V2)) → activate#(V2)
U104#(tt, V1, V2) → activate#(V1)activate#(n__take(X1, X2)) → activate#(X2)
U61#(tt, V2) → activate#(V2)isNatIList#(V) → activate#(V)
U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))
U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))U94#(tt, V1, V2) → isNat#(activate(V1))
U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2) → activate#(V1)
U104#(tt, V1, V2) → isNat#(activate(V1))U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U114#(tt, L) → s#(length(activate(L)))U43#(tt, V1, V2) → isNatIListKind#(activate(V2))
U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → activate#(V1)
length#(cons(N, L)) → activate#(L)

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U121#(tt, IL) → activate#(IL)U94#(tt, V1, V2) → activate#(V1)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
U44#(tt, V1, V2) → isNat#(activate(V1))U105#(tt, V2) → isNatIList#(activate(V2))
U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U113#(tt, L, N) → activate#(L)
U113#(tt, L, N) → isNatKind#(activate(N))isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
activate#(n__length(X)) → length#(activate(X))take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)
length#(cons(N, L)) → isNatList#(activate(L))U134#(tt, IL, M, N) → activate#(M)
isNatList#(n__take(V1, V2)) → activate#(V2)U136#(tt, IL, M, N) → activate#(IL)
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U95#(tt, V2) → isNatList#(activate(V2))
U134#(tt, IL, M, N) → activate#(N)isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
U132#(tt, IL, M, N) → activate#(M)U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
take#(s(M), cons(N, IL)) → activate#(IL)isNatKind#(n__s(V1)) → isNatKind#(activate(V1))
isNatIListKind#(n__cons(V1, V2)) → activate#(V1)U114#(tt, L) → activate#(L)
isNat#(n__s(V1)) → isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2)) → activate#(V2)
activate#(n__s(X)) → activate#(X)U92#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → isNatIListKind#(activate(V2))isNatKind#(n__length(V1)) → activate#(V1)
isNatKind#(n__s(V1)) → activate#(V1)U32#(tt, V) → isNatList#(activate(V))
U102#(tt, V1, V2) → isNatIListKind#(activate(V2))U102#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → activate#(V1)U105#(tt, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U31#(tt, V) → activate#(V)U132#(tt, IL, M, N) → activate#(IL)
U114#(tt, L) → length#(activate(L))U131#(tt, IL, M, N) → activate#(IL)
U91#(tt, V1, V2) → activate#(V2)U122#(tt) → nil#
U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))U102#(tt, V1, V2) → activate#(V2)
U32#(tt, V) → U33#(isNatList(activate(V)))U112#(tt, L, N) → isNat#(activate(N))
U93#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → activate#(V1)
U11#(tt, V1) → activate#(V1)U32#(tt, V) → activate#(V)
U41#(tt, V1, V2) → activate#(V2)U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U44#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U42#(tt, V1, V2) → isNatIListKind#(activate(V2))
U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U104#(tt, V1, V2) → activate#(V2)U12#(tt, V1) → activate#(V1)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N) → activate#(M)U45#(tt, V2) → isNatIList#(activate(V2))
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U134#(tt, IL, M, N) → isNat#(activate(N))
U41#(tt, V1, V2) → isNatKind#(activate(V1))U105#(tt, V2) → U106#(isNatIList(activate(V2)))
isNat#(n__s(V1)) → activate#(V1)U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))isNatIList#(V) → isNatIListKind#(activate(V))
isNatList#(n__cons(V1, V2)) → activate#(V2)isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → activate#(V2)U42#(tt, V1, V2) → activate#(V1)
U112#(tt, L, N) → activate#(N)U133#(tt, IL, M, N) → activate#(IL)
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → activate#(L)U41#(tt, V1, V2) → activate#(V1)
U42#(tt, V1, V2) → activate#(V2)U103#(tt, V1, V2) → activate#(V1)
U22#(tt, V1) → activate#(V1)U12#(tt, V1) → isNatList#(activate(V1))
U92#(tt, V1, V2) → activate#(V2)U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U136#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))
isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(M)
activate#(n__length(X)) → activate#(X)U103#(tt, V1, V2) → isNatIListKind#(activate(V2))
U22#(tt, V1) → isNat#(activate(V1))U111#(tt, L, N) → activate#(L)
U45#(tt, V2) → U46#(isNatIList(activate(V2)))U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U132#(tt, IL, M, N) → activate#(N)U135#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U43#(tt, V1, V2) → isNatIListKind#(activate(V2))
U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → activate#(V1)
length#(cons(N, L)) → activate#(L)

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U121#(tt, IL) → activate#(IL)U94#(tt, V1, V2) → activate#(V1)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
U44#(tt, V1, V2) → isNat#(activate(V1))U105#(tt, V2) → isNatIList#(activate(V2))
U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U113#(tt, L, N) → activate#(L)
U113#(tt, L, N) → isNatKind#(activate(N))isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
activate#(n__length(X)) → length#(activate(X))take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)
length#(cons(N, L)) → isNatList#(activate(L))U134#(tt, IL, M, N) → activate#(M)
isNatList#(n__take(V1, V2)) → activate#(V2)U136#(tt, IL, M, N) → activate#(IL)
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U95#(tt, V2) → isNatList#(activate(V2))
U134#(tt, IL, M, N) → activate#(N)isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
U132#(tt, IL, M, N) → activate#(M)U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
take#(s(M), cons(N, IL)) → activate#(IL)isNatKind#(n__s(V1)) → isNatKind#(activate(V1))
isNatIListKind#(n__cons(V1, V2)) → activate#(V1)U114#(tt, L) → activate#(L)
isNat#(n__s(V1)) → isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2)) → activate#(V2)
activate#(n__s(X)) → activate#(X)U92#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → isNatIListKind#(activate(V2))isNatKind#(n__length(V1)) → activate#(V1)
isNatKind#(n__s(V1)) → activate#(V1)U32#(tt, V) → isNatList#(activate(V))
U102#(tt, V1, V2) → isNatIListKind#(activate(V2))U102#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → activate#(V1)U105#(tt, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U31#(tt, V) → activate#(V)U132#(tt, IL, M, N) → activate#(IL)
U114#(tt, L) → length#(activate(L))U131#(tt, IL, M, N) → activate#(IL)
U91#(tt, V1, V2) → activate#(V2)U122#(tt) → nil#
U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))U102#(tt, V1, V2) → activate#(V2)
U32#(tt, V) → U33#(isNatList(activate(V)))U112#(tt, L, N) → isNat#(activate(N))
U93#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → activate#(V1)
U11#(tt, V1) → activate#(V1)U32#(tt, V) → activate#(V)
U41#(tt, V1, V2) → activate#(V2)U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U44#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U42#(tt, V1, V2) → isNatIListKind#(activate(V2))
U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U104#(tt, V1, V2) → activate#(V2)U12#(tt, V1) → activate#(V1)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N) → activate#(M)U45#(tt, V2) → isNatIList#(activate(V2))
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U134#(tt, IL, M, N) → isNat#(activate(N))
U41#(tt, V1, V2) → isNatKind#(activate(V1))isNat#(n__s(V1)) → activate#(V1)
U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))
isNatIList#(V) → isNatIListKind#(activate(V))isNatList#(n__cons(V1, V2)) → activate#(V2)
isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → activate#(V2)
U42#(tt, V1, V2) → activate#(V1)U112#(tt, L, N) → activate#(N)
U133#(tt, IL, M, N) → activate#(IL)U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))
U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N) → activate#(L)
U41#(tt, V1, V2) → activate#(V1)U42#(tt, V1, V2) → activate#(V2)
U103#(tt, V1, V2) → activate#(V1)U22#(tt, V1) → activate#(V1)
U12#(tt, V1) → isNatList#(activate(V1))U92#(tt, V1, V2) → activate#(V2)
U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))
U111#(tt, L, N) → activate#(N)U136#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(M)activate#(n__length(X)) → activate#(X)
U103#(tt, V1, V2) → isNatIListKind#(activate(V2))U22#(tt, V1) → isNat#(activate(V1))
U111#(tt, L, N) → activate#(L)U45#(tt, V2) → U46#(isNatIList(activate(V2)))
U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(N)
U51#(tt, V2) → isNatIListKind#(activate(V2))U101#(tt, V1, V2) → activate#(V2)
U61#(tt, V2) → isNatIListKind#(activate(V2))U92#(tt, V1, V2) → isNatIListKind#(activate(V2))
U133#(tt, IL, M, N) → isNatKind#(activate(M))U132#(tt, IL, M, N) → activate#(N)
U135#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__take(V1, V2)) → activate#(V2)
U104#(tt, V1, V2) → activate#(V1)activate#(n__take(X1, X2)) → activate#(X2)
U61#(tt, V2) → activate#(V2)isNatIList#(V) → activate#(V)
U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(0, IL) → U121#(isNatIList(IL), IL)
U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))
U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))U94#(tt, V1, V2) → isNat#(activate(V1))
U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2) → activate#(V1)
U104#(tt, V1, V2) → isNat#(activate(V1))U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U43#(tt, V1, V2) → isNatIListKind#(activate(V2))U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → activate#(V1)length#(cons(N, L)) → activate#(L)

take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))U132#(tt, IL, M, N) → isNat#(activate(M))
U101#(tt, V1, V2) → isNatKind#(activate(V1))U12#(tt, V1) → U13#(isNatList(activate(V1)))
isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))U94#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → activate#(V1)U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))
isNatIListKind#(n__take(V1, V2)) → activate#(V1)U121#(tt, IL) → activate#(IL)
U94#(tt, V1, V2) → activate#(V1)U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))
U51#(tt, V2) → activate#(V2)U31#(tt, V) → isNatIListKind#(activate(V))
isNat#(n__length(V1)) → activate#(V1)isNatIListKind#(n__cons(V1, V2)) → activate#(V2)
U111#(tt, L, N) → isNatIListKind#(activate(L))length#(nil) → 0#
U44#(tt, V1, V2) → isNat#(activate(V1))U105#(tt, V2) → isNatIList#(activate(V2))
U113#(tt, L, N) → isNatKind#(activate(N))U113#(tt, L, N) → activate#(L)
U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
activate#(n__length(X)) → length#(activate(X))take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)
length#(cons(N, L)) → isNatList#(activate(L))U134#(tt, IL, M, N) → activate#(M)
isNatList#(n__take(V1, V2)) → activate#(V2)U136#(tt, IL, M, N) → activate#(IL)
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U95#(tt, V2) → isNatList#(activate(V2))
U134#(tt, IL, M, N) → activate#(N)isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
U132#(tt, IL, M, N) → activate#(M)U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
take#(s(M), cons(N, IL)) → activate#(IL)isNatKind#(n__s(V1)) → isNatKind#(activate(V1))
isNatIListKind#(n__cons(V1, V2)) → activate#(V1)U114#(tt, L) → activate#(L)
isNat#(n__s(V1)) → isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2)) → activate#(V2)
activate#(n__s(X)) → activate#(X)U92#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → isNatIListKind#(activate(V2))isNatKind#(n__length(V1)) → activate#(V1)
isNatKind#(n__s(V1)) → activate#(V1)U32#(tt, V) → isNatList#(activate(V))
U102#(tt, V1, V2) → isNatIListKind#(activate(V2))U102#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → activate#(V1)U105#(tt, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U31#(tt, V) → activate#(V)U132#(tt, IL, M, N) → activate#(IL)
U114#(tt, L) → length#(activate(L))U131#(tt, IL, M, N) → activate#(IL)
U91#(tt, V1, V2) → activate#(V2)U122#(tt) → nil#
U102#(tt, V1, V2) → activate#(V2)U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))
U112#(tt, L, N) → isNat#(activate(N))U93#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → activate#(V1)U11#(tt, V1) → activate#(V1)
U32#(tt, V) → activate#(V)U41#(tt, V1, V2) → activate#(V2)
U11#(tt, V1) → isNatIListKind#(activate(V1))U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))
isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(M)
U134#(tt, IL, M, N) → activate#(IL)U113#(tt, L, N) → activate#(N)
U43#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N) → activate#(IL)activate#(n__take(X1, X2)) → activate#(X1)
U91#(tt, V1, V2) → activate#(V1)U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → activate#(V2)isNatList#(n__cons(V1, V2)) → activate#(V1)
isNat#(n__length(V1)) → isNatIListKind#(activate(V1))take#(0, IL) → isNatIList#(IL)
U42#(tt, V1, V2) → isNatIListKind#(activate(V2))U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U121#(tt, IL) → isNatIListKind#(activate(IL))U136#(tt, IL, M, N) → activate#(M)
U12#(tt, V1) → activate#(V1)U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U104#(tt, V1, V2) → activate#(V2)activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))
U21#(tt, V1) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → isNatKind#(activate(N))
U45#(tt, V2) → activate#(V2)U95#(tt, V2) → activate#(V2)
length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)U135#(tt, IL, M, N) → activate#(M)
U45#(tt, V2) → isNatIList#(activate(V2))U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2)) → activate#(X1)
U44#(tt, V1, V2) → activate#(V1)U91#(tt, V1, V2) → isNatKind#(activate(V1))
U101#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNat#(n__s(V1)) → activate#(V1)U134#(tt, IL, M, N) → isNat#(activate(N))
U105#(tt, V2) → U106#(isNatIList(activate(V2)))U41#(tt, V1, V2) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))
isNatIList#(V) → isNatIListKind#(activate(V))isNatList#(n__cons(V1, V2)) → activate#(V2)
isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → activate#(V2)
U112#(tt, L, N) → activate#(N)U42#(tt, V1, V2) → activate#(V1)
U133#(tt, IL, M, N) → activate#(IL)U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))
U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N) → activate#(L)
U41#(tt, V1, V2) → activate#(V1)U42#(tt, V1, V2) → activate#(V2)
U103#(tt, V1, V2) → activate#(V1)U22#(tt, V1) → activate#(V1)
U12#(tt, V1) → isNatList#(activate(V1))U92#(tt, V1, V2) → activate#(V2)
U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))
U111#(tt, L, N) → activate#(N)U136#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(M)activate#(n__length(X)) → activate#(X)
U103#(tt, V1, V2) → isNatIListKind#(activate(V2))U22#(tt, V1) → isNat#(activate(V1))
U111#(tt, L, N) → activate#(L)U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U133#(tt, IL, M, N) → isNatKind#(activate(M))U92#(tt, V1, V2) → isNatIListKind#(activate(V2))
U132#(tt, IL, M, N) → activate#(N)U135#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L) → s#(length(activate(L)))
U43#(tt, V1, V2) → isNatIListKind#(activate(V2))U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → activate#(V1)length#(cons(N, L)) → activate#(L)

take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))U132#(tt, IL, M, N) → isNat#(activate(M))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U121#(tt, IL) → activate#(IL)U94#(tt, V1, V2) → activate#(V1)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
length#(nil) → 0#U44#(tt, V1, V2) → isNat#(activate(V1))
U105#(tt, V2) → isNatIList#(activate(V2))U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U113#(tt, L, N) → isNatKind#(activate(N))U113#(tt, L, N) → activate#(L)
isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))activate#(n__length(X)) → length#(activate(X))
take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)length#(cons(N, L)) → isNatList#(activate(L))
U134#(tt, IL, M, N) → activate#(M)isNatList#(n__take(V1, V2)) → activate#(V2)
U136#(tt, IL, M, N) → activate#(IL)U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U95#(tt, V2) → isNatList#(activate(V2))U134#(tt, IL, M, N) → activate#(N)
U132#(tt, IL, M, N) → activate#(M)U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(s(M), cons(N, IL)) → activate#(IL)
isNatKind#(n__s(V1)) → isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2)) → activate#(V1)
U114#(tt, L) → activate#(L)isNat#(n__s(V1)) → isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2)) → activate#(V2)activate#(n__s(X)) → activate#(X)
U92#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → isNatIListKind#(activate(V2))
isNatKind#(n__length(V1)) → activate#(V1)isNatKind#(n__s(V1)) → activate#(V1)
U32#(tt, V) → isNatList#(activate(V))U102#(tt, V1, V2) → isNatIListKind#(activate(V2))
U102#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → activate#(V1)
U105#(tt, V2) → activate#(V2)isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(N)isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U31#(tt, V) → activate#(V)
U132#(tt, IL, M, N) → activate#(IL)U114#(tt, L) → length#(activate(L))
U131#(tt, IL, M, N) → activate#(IL)U91#(tt, V1, V2) → activate#(V2)
U122#(tt) → nil#U102#(tt, V1, V2) → activate#(V2)
U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))U112#(tt, L, N) → isNat#(activate(N))
U93#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → activate#(V1)
U11#(tt, V1) → activate#(V1)U32#(tt, V) → activate#(V)
U41#(tt, V1, V2) → activate#(V2)U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U42#(tt, V1, V2) → isNatIListKind#(activate(V2))
U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U104#(tt, V1, V2) → activate#(V2)U12#(tt, V1) → activate#(V1)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N) → activate#(M)U45#(tt, V2) → isNatIList#(activate(V2))
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNat#(n__s(V1)) → activate#(V1)
U134#(tt, IL, M, N) → isNat#(activate(N))U105#(tt, V2) → U106#(isNatIList(activate(V2)))
U41#(tt, V1, V2) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))isNatIList#(V) → isNatIListKind#(activate(V))
isNatList#(n__cons(V1, V2)) → activate#(V2)isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → activate#(V2)U112#(tt, L, N) → activate#(N)
U42#(tt, V1, V2) → activate#(V1)U133#(tt, IL, M, N) → activate#(IL)
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → activate#(L)U41#(tt, V1, V2) → activate#(V1)
U42#(tt, V1, V2) → activate#(V2)U103#(tt, V1, V2) → activate#(V1)
U22#(tt, V1) → activate#(V1)U12#(tt, V1) → isNatList#(activate(V1))
U92#(tt, V1, V2) → activate#(V2)U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U22#(tt, V1) → U23#(isNat(activate(V1)))U136#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(M)activate#(n__length(X)) → activate#(X)
U103#(tt, V1, V2) → isNatIListKind#(activate(V2))U22#(tt, V1) → isNat#(activate(V1))
U111#(tt, L, N) → activate#(L)U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U132#(tt, IL, M, N) → activate#(N)U135#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L) → s#(length(activate(L)))
U43#(tt, V1, V2) → isNatIListKind#(activate(V2))U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → activate#(V1)length#(cons(N, L)) → activate#(L)

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U121#(tt, IL) → activate#(IL)U94#(tt, V1, V2) → activate#(V1)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
length#(nil) → 0#U44#(tt, V1, V2) → isNat#(activate(V1))
U105#(tt, V2) → isNatIList#(activate(V2))U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U113#(tt, L, N) → activate#(L)U113#(tt, L, N) → isNatKind#(activate(N))
isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))activate#(n__length(X)) → length#(activate(X))
take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)length#(cons(N, L)) → isNatList#(activate(L))
U134#(tt, IL, M, N) → activate#(M)isNatList#(n__take(V1, V2)) → activate#(V2)
U136#(tt, IL, M, N) → activate#(IL)U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U95#(tt, V2) → isNatList#(activate(V2))U134#(tt, IL, M, N) → activate#(N)
U132#(tt, IL, M, N) → activate#(M)U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(s(M), cons(N, IL)) → activate#(IL)
isNatKind#(n__s(V1)) → isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2)) → activate#(V1)
U114#(tt, L) → activate#(L)isNat#(n__s(V1)) → isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2)) → activate#(V2)activate#(n__s(X)) → activate#(X)
U92#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → isNatIListKind#(activate(V2))
isNatKind#(n__length(V1)) → activate#(V1)isNatKind#(n__s(V1)) → activate#(V1)
U32#(tt, V) → isNatList#(activate(V))U102#(tt, V1, V2) → isNatIListKind#(activate(V2))
U93#(tt, V1, V2) → activate#(V1)U102#(tt, V1, V2) → activate#(V1)
U105#(tt, V2) → activate#(V2)isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(N)isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U31#(tt, V) → activate#(V)
U132#(tt, IL, M, N) → activate#(IL)U114#(tt, L) → length#(activate(L))
U131#(tt, IL, M, N) → activate#(IL)U91#(tt, V1, V2) → activate#(V2)
U122#(tt) → nil#U102#(tt, V1, V2) → activate#(V2)
U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))U112#(tt, L, N) → isNat#(activate(N))
U93#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → activate#(V1)
U11#(tt, V1) → activate#(V1)U32#(tt, V) → activate#(V)
U41#(tt, V1, V2) → activate#(V2)U95#(tt, V2) → U96#(isNatList(activate(V2)))
U11#(tt, V1) → isNatIListKind#(activate(V1))U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))
isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(M)
U134#(tt, IL, M, N) → activate#(IL)U113#(tt, L, N) → activate#(N)
U43#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N) → activate#(IL)activate#(n__take(X1, X2)) → activate#(X1)
U91#(tt, V1, V2) → activate#(V1)U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → activate#(V2)isNatList#(n__cons(V1, V2)) → activate#(V1)
isNat#(n__length(V1)) → isNatIListKind#(activate(V1))take#(0, IL) → isNatIList#(IL)
U42#(tt, V1, V2) → isNatIListKind#(activate(V2))U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U121#(tt, IL) → isNatIListKind#(activate(IL))U136#(tt, IL, M, N) → activate#(M)
U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U104#(tt, V1, V2) → activate#(V2)
U12#(tt, V1) → activate#(V1)activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))
U21#(tt, V1) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → isNatKind#(activate(N))
U45#(tt, V2) → activate#(V2)U95#(tt, V2) → activate#(V2)
length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)U135#(tt, IL, M, N) → activate#(M)
U45#(tt, V2) → isNatIList#(activate(V2))U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2)) → activate#(X1)
U44#(tt, V1, V2) → activate#(V1)U91#(tt, V1, V2) → isNatKind#(activate(V1))
U101#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNat#(n__s(V1)) → activate#(V1)U134#(tt, IL, M, N) → isNat#(activate(N))
U41#(tt, V1, V2) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))isNatList#(n__cons(V1, V2)) → activate#(V2)
isNatIList#(V) → isNatIListKind#(activate(V))isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → activate#(V2)U112#(tt, L, N) → activate#(N)
U42#(tt, V1, V2) → activate#(V1)U133#(tt, IL, M, N) → activate#(IL)
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → activate#(L)U41#(tt, V1, V2) → activate#(V1)
U42#(tt, V1, V2) → activate#(V2)U103#(tt, V1, V2) → activate#(V1)
U22#(tt, V1) → activate#(V1)U12#(tt, V1) → isNatList#(activate(V1))
U92#(tt, V1, V2) → activate#(V2)U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U136#(tt, IL, M, N) → activate#(N)U22#(tt, V1) → U23#(isNat(activate(V1)))
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(M)activate#(n__length(X)) → activate#(X)
U103#(tt, V1, V2) → isNatIListKind#(activate(V2))U22#(tt, V1) → isNat#(activate(V1))
U111#(tt, L, N) → activate#(L)U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U132#(tt, IL, M, N) → activate#(N)U135#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))take#(0, IL) → U121#(isNatIList(IL), IL)
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L) → s#(length(activate(L)))
U43#(tt, V1, V2) → isNatIListKind#(activate(V2))U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → activate#(V1)length#(cons(N, L)) → activate#(L)

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U94#(tt, V1, V2) → activate#(V1)U121#(tt, IL) → activate#(IL)
U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
length#(nil) → 0#U44#(tt, V1, V2) → isNat#(activate(V1))
U105#(tt, V2) → isNatIList#(activate(V2))U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U113#(tt, L, N) → activate#(L)U113#(tt, L, N) → isNatKind#(activate(N))
isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))activate#(n__length(X)) → length#(activate(X))
take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)U134#(tt, IL, M, N) → activate#(M)
length#(cons(N, L)) → isNatList#(activate(L))U136#(tt, IL, M, N) → activate#(IL)
isNatList#(n__take(V1, V2)) → activate#(V2)U95#(tt, V2) → isNatList#(activate(V2))
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → activate#(N)
isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
U132#(tt, IL, M, N) → activate#(M)take#(s(M), cons(N, IL)) → activate#(IL)
isNatKind#(n__s(V1)) → isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2)) → activate#(V1)
U114#(tt, L) → activate#(L)isNat#(n__s(V1)) → isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2)) → activate#(V2)activate#(n__s(X)) → activate#(X)
U92#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → isNatIListKind#(activate(V2))
isNatKind#(n__length(V1)) → activate#(V1)isNatKind#(n__s(V1)) → activate#(V1)
U32#(tt, V) → isNatList#(activate(V))U102#(tt, V1, V2) → isNatIListKind#(activate(V2))
U93#(tt, V1, V2) → activate#(V1)U102#(tt, V1, V2) → activate#(V1)
U105#(tt, V2) → activate#(V2)U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U31#(tt, V) → activate#(V)
U132#(tt, IL, M, N) → activate#(IL)U114#(tt, L) → length#(activate(L))
U131#(tt, IL, M, N) → activate#(IL)U91#(tt, V1, V2) → activate#(V2)
U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))U102#(tt, V1, V2) → activate#(V2)
U112#(tt, L, N) → isNat#(activate(N))U93#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → activate#(V1)U11#(tt, V1) → activate#(V1)
U32#(tt, V) → activate#(V)U41#(tt, V1, V2) → activate#(V2)
U95#(tt, V2) → U96#(isNatList(activate(V2)))U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U42#(tt, V1, V2) → isNatIListKind#(activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U12#(tt, V1) → activate#(V1)
U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U104#(tt, V1, V2) → activate#(V2)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U45#(tt, V2) → isNatIList#(activate(V2))U135#(tt, IL, M, N) → activate#(M)
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNat#(n__s(V1)) → activate#(V1)
U134#(tt, IL, M, N) → isNat#(activate(N))U41#(tt, V1, V2) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))
isNatList#(n__cons(V1, V2)) → activate#(V2)isNatIList#(V) → isNatIListKind#(activate(V))
isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → activate#(V2)
U112#(tt, L, N) → activate#(N)U42#(tt, V1, V2) → activate#(V1)
U133#(tt, IL, M, N) → activate#(IL)U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U112#(tt, L, N) → activate#(L)
U41#(tt, V1, V2) → activate#(V1)U42#(tt, V1, V2) → activate#(V2)
U103#(tt, V1, V2) → activate#(V1)U22#(tt, V1) → activate#(V1)
U92#(tt, V1, V2) → activate#(V2)U12#(tt, V1) → isNatList#(activate(V1))
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U136#(tt, IL, M, N) → activate#(N)isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))U133#(tt, IL, M, N) → activate#(M)
activate#(n__length(X)) → activate#(X)U103#(tt, V1, V2) → isNatIListKind#(activate(V2))
U22#(tt, V1) → isNat#(activate(V1))U111#(tt, L, N) → activate#(L)
U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(N)
U51#(tt, V2) → isNatIListKind#(activate(V2))U101#(tt, V1, V2) → activate#(V2)
U61#(tt, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U135#(tt, IL, M, N) → activate#(N)
U132#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__take(V1, V2)) → activate#(V2)
U104#(tt, V1, V2) → activate#(V1)activate#(n__take(X1, X2)) → activate#(X2)
U61#(tt, V2) → activate#(V2)isNatIList#(V) → activate#(V)
U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))
U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))U94#(tt, V1, V2) → isNat#(activate(V1))
U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2) → activate#(V1)
U104#(tt, V1, V2) → isNat#(activate(V1))U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U114#(tt, L) → s#(length(activate(L)))U43#(tt, V1, V2) → isNatIListKind#(activate(V2))
U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → activate#(V1)
length#(cons(N, L)) → activate#(L)

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U94#(tt, V1, V2) → activate#(V1)U121#(tt, IL) → activate#(IL)
U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
length#(nil) → 0#U44#(tt, V1, V2) → isNat#(activate(V1))
U105#(tt, V2) → isNatIList#(activate(V2))U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U113#(tt, L, N) → activate#(L)U113#(tt, L, N) → isNatKind#(activate(N))
isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))activate#(n__length(X)) → length#(activate(X))
take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)U134#(tt, IL, M, N) → activate#(M)
length#(cons(N, L)) → isNatList#(activate(L))U136#(tt, IL, M, N) → activate#(IL)
isNatList#(n__take(V1, V2)) → activate#(V2)U95#(tt, V2) → isNatList#(activate(V2))
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → activate#(N)
isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))U132#(tt, IL, M, N) → activate#(M)
U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))take#(s(M), cons(N, IL)) → activate#(IL)
isNatKind#(n__s(V1)) → isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2)) → activate#(V1)
U114#(tt, L) → activate#(L)isNat#(n__s(V1)) → isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2)) → activate#(V2)activate#(n__s(X)) → activate#(X)
U92#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → isNatIListKind#(activate(V2))
isNatKind#(n__length(V1)) → activate#(V1)isNatKind#(n__s(V1)) → activate#(V1)
U32#(tt, V) → isNatList#(activate(V))U102#(tt, V1, V2) → isNatIListKind#(activate(V2))
U93#(tt, V1, V2) → activate#(V1)U102#(tt, V1, V2) → activate#(V1)
U105#(tt, V2) → activate#(V2)U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U31#(tt, V) → activate#(V)
U132#(tt, IL, M, N) → activate#(IL)U131#(tt, IL, M, N) → activate#(IL)
U114#(tt, L) → length#(activate(L))U91#(tt, V1, V2) → activate#(V2)
U122#(tt) → nil#U102#(tt, V1, V2) → activate#(V2)
U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))U112#(tt, L, N) → isNat#(activate(N))
U93#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → activate#(V1)
U11#(tt, V1) → activate#(V1)U32#(tt, V) → activate#(V)
U41#(tt, V1, V2) → activate#(V2)U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U42#(tt, V1, V2) → isNatIListKind#(activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U12#(tt, V1) → activate#(V1)
U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U104#(tt, V1, V2) → activate#(V2)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N) → activate#(M)U45#(tt, V2) → isNatIList#(activate(V2))
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNat#(n__s(V1)) → activate#(V1)
U134#(tt, IL, M, N) → isNat#(activate(N))U41#(tt, V1, V2) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))
isNatIList#(V) → isNatIListKind#(activate(V))isNatList#(n__cons(V1, V2)) → activate#(V2)
isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → activate#(V2)
U112#(tt, L, N) → activate#(N)U42#(tt, V1, V2) → activate#(V1)
U133#(tt, IL, M, N) → activate#(IL)U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U112#(tt, L, N) → activate#(L)
U41#(tt, V1, V2) → activate#(V1)U42#(tt, V1, V2) → activate#(V2)
U103#(tt, V1, V2) → activate#(V1)U22#(tt, V1) → activate#(V1)
U12#(tt, V1) → isNatList#(activate(V1))U92#(tt, V1, V2) → activate#(V2)
U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))
U111#(tt, L, N) → activate#(N)U136#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(M)activate#(n__length(X)) → activate#(X)
U103#(tt, V1, V2) → isNatIListKind#(activate(V2))U22#(tt, V1) → isNat#(activate(V1))
U111#(tt, L, N) → activate#(L)U45#(tt, V2) → U46#(isNatIList(activate(V2)))
U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(N)
U51#(tt, V2) → isNatIListKind#(activate(V2))U101#(tt, V1, V2) → activate#(V2)
U61#(tt, V2) → isNatIListKind#(activate(V2))U92#(tt, V1, V2) → isNatIListKind#(activate(V2))
U133#(tt, IL, M, N) → isNatKind#(activate(M))U132#(tt, IL, M, N) → activate#(N)
U135#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__take(V1, V2)) → activate#(V2)
U104#(tt, V1, V2) → activate#(V1)activate#(n__take(X1, X2)) → activate#(X2)
U61#(tt, V2) → activate#(V2)isNatIList#(V) → activate#(V)
U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))
U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))U94#(tt, V1, V2) → isNat#(activate(V1))
U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2) → activate#(V1)
U104#(tt, V1, V2) → isNat#(activate(V1))U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U114#(tt, L) → s#(length(activate(L)))U43#(tt, V1, V2) → isNatIListKind#(activate(V2))
U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → activate#(V1)
length#(cons(N, L)) → activate#(L)

take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))U132#(tt, IL, M, N) → isNat#(activate(M))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U121#(tt, IL) → activate#(IL)U94#(tt, V1, V2) → activate#(V1)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
length#(nil) → 0#U44#(tt, V1, V2) → isNat#(activate(V1))
U105#(tt, V2) → isNatIList#(activate(V2))U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U113#(tt, L, N) → isNatKind#(activate(N))U113#(tt, L, N) → activate#(L)
isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))activate#(n__length(X)) → length#(activate(X))
take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)length#(cons(N, L)) → isNatList#(activate(L))
U134#(tt, IL, M, N) → activate#(M)isNatList#(n__take(V1, V2)) → activate#(V2)
U136#(tt, IL, M, N) → activate#(IL)U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U95#(tt, V2) → isNatList#(activate(V2))U134#(tt, IL, M, N) → activate#(N)
U132#(tt, IL, M, N) → activate#(M)U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(s(M), cons(N, IL)) → activate#(IL)
isNatKind#(n__s(V1)) → isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2)) → activate#(V1)
U114#(tt, L) → activate#(L)isNat#(n__s(V1)) → isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2)) → activate#(V2)activate#(n__s(X)) → activate#(X)
U92#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → isNatIListKind#(activate(V2))
isNatKind#(n__length(V1)) → activate#(V1)isNatKind#(n__s(V1)) → activate#(V1)
U32#(tt, V) → isNatList#(activate(V))U102#(tt, V1, V2) → isNatIListKind#(activate(V2))
U102#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → activate#(V1)
U105#(tt, V2) → activate#(V2)isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(N)isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U31#(tt, V) → activate#(V)
U132#(tt, IL, M, N) → activate#(IL)U114#(tt, L) → length#(activate(L))
U131#(tt, IL, M, N) → activate#(IL)U91#(tt, V1, V2) → activate#(V2)
U122#(tt) → nil#U102#(tt, V1, V2) → activate#(V2)
U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))U112#(tt, L, N) → isNat#(activate(N))
U93#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → activate#(V1)
U11#(tt, V1) → activate#(V1)U32#(tt, V) → activate#(V)
U41#(tt, V1, V2) → activate#(V2)U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U42#(tt, V1, V2) → isNatIListKind#(activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U104#(tt, V1, V2) → activate#(V2)U12#(tt, V1) → activate#(V1)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U45#(tt, V2) → isNatIList#(activate(V2))U135#(tt, IL, M, N) → activate#(M)
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U134#(tt, IL, M, N) → isNat#(activate(N))
U105#(tt, V2) → U106#(isNatIList(activate(V2)))U41#(tt, V1, V2) → isNatKind#(activate(V1))
isNat#(n__s(V1)) → activate#(V1)U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))isNatIList#(V) → isNatIListKind#(activate(V))
isNatList#(n__cons(V1, V2)) → activate#(V2)isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → activate#(V2)U112#(tt, L, N) → activate#(N)
U42#(tt, V1, V2) → activate#(V1)U133#(tt, IL, M, N) → activate#(IL)
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → activate#(L)U41#(tt, V1, V2) → activate#(V1)
U42#(tt, V1, V2) → activate#(V2)U103#(tt, V1, V2) → activate#(V1)
U22#(tt, V1) → activate#(V1)U12#(tt, V1) → isNatList#(activate(V1))
U92#(tt, V1, V2) → activate#(V2)U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U136#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))
isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(M)
activate#(n__length(X)) → activate#(X)U103#(tt, V1, V2) → isNatIListKind#(activate(V2))
U22#(tt, V1) → isNat#(activate(V1))U111#(tt, L, N) → activate#(L)
U45#(tt, V2) → U46#(isNatIList(activate(V2)))U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U132#(tt, IL, M, N) → activate#(N)U135#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L) → s#(length(activate(L)))
U43#(tt, V1, V2) → isNatIListKind#(activate(V2))U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → activate#(V1)length#(cons(N, L)) → activate#(L)

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U94#(tt, V1, V2) → activate#(V1)U121#(tt, IL) → activate#(IL)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)length#(nil) → 0#
U111#(tt, L, N) → isNatIListKind#(activate(L))U44#(tt, V1, V2) → isNat#(activate(V1))
U105#(tt, V2) → isNatIList#(activate(V2))U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U113#(tt, L, N) → isNatKind#(activate(N))U113#(tt, L, N) → activate#(L)
isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))activate#(n__length(X)) → length#(activate(X))
take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)U134#(tt, IL, M, N) → activate#(M)
length#(cons(N, L)) → isNatList#(activate(L))U136#(tt, IL, M, N) → activate#(IL)
isNatList#(n__take(V1, V2)) → activate#(V2)U95#(tt, V2) → isNatList#(activate(V2))
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → activate#(N)
isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))U132#(tt, IL, M, N) → activate#(M)
U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))take#(s(M), cons(N, IL)) → activate#(IL)
isNatKind#(n__s(V1)) → isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2)) → activate#(V1)
U114#(tt, L) → activate#(L)isNat#(n__s(V1)) → isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2)) → activate#(V2)activate#(n__s(X)) → activate#(X)
U92#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → isNatIListKind#(activate(V2))
isNatKind#(n__length(V1)) → activate#(V1)isNatKind#(n__s(V1)) → activate#(V1)
U32#(tt, V) → isNatList#(activate(V))U102#(tt, V1, V2) → isNatIListKind#(activate(V2))
U93#(tt, V1, V2) → activate#(V1)U102#(tt, V1, V2) → activate#(V1)
U105#(tt, V2) → activate#(V2)U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U31#(tt, V) → activate#(V)
U132#(tt, IL, M, N) → activate#(IL)U131#(tt, IL, M, N) → activate#(IL)
U114#(tt, L) → length#(activate(L))U91#(tt, V1, V2) → activate#(V2)
U122#(tt) → nil#U102#(tt, V1, V2) → activate#(V2)
U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))U112#(tt, L, N) → isNat#(activate(N))
U93#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → activate#(V1)
U11#(tt, V1) → activate#(V1)U32#(tt, V) → activate#(V)
U41#(tt, V1, V2) → activate#(V2)U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U42#(tt, V1, V2) → isNatIListKind#(activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U12#(tt, V1) → activate#(V1)
U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U104#(tt, V1, V2) → activate#(V2)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N) → activate#(M)U45#(tt, V2) → isNatIList#(activate(V2))
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNat#(n__s(V1)) → activate#(V1)
U134#(tt, IL, M, N) → isNat#(activate(N))U41#(tt, V1, V2) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))
isNatIList#(V) → isNatIListKind#(activate(V))isNatList#(n__cons(V1, V2)) → activate#(V2)
isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → activate#(V2)
U112#(tt, L, N) → activate#(N)U42#(tt, V1, V2) → activate#(V1)
U133#(tt, IL, M, N) → activate#(IL)U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U112#(tt, L, N) → activate#(L)
U41#(tt, V1, V2) → activate#(V1)U42#(tt, V1, V2) → activate#(V2)
U103#(tt, V1, V2) → activate#(V1)U22#(tt, V1) → activate#(V1)
U12#(tt, V1) → isNatList#(activate(V1))U92#(tt, V1, V2) → activate#(V2)
U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))
U111#(tt, L, N) → activate#(N)U136#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(M)activate#(n__length(X)) → activate#(X)
U103#(tt, V1, V2) → isNatIListKind#(activate(V2))U22#(tt, V1) → isNat#(activate(V1))
U111#(tt, L, N) → activate#(L)U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U61#(tt, V2) → U62#(isNatIListKind(activate(V2)))
U133#(tt, IL, M, N) → isNatKind#(activate(M))U132#(tt, IL, M, N) → activate#(N)
U135#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__take(V1, V2)) → activate#(V2)
U104#(tt, V1, V2) → activate#(V1)U61#(tt, V2) → activate#(V2)
activate#(n__take(X1, X2)) → activate#(X2)isNatIList#(V) → activate#(V)
U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))
U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))U94#(tt, V1, V2) → isNat#(activate(V1))
U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2) → activate#(V1)
U104#(tt, V1, V2) → isNat#(activate(V1))U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U114#(tt, L) → s#(length(activate(L)))U43#(tt, V1, V2) → isNatIListKind#(activate(V2))
U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → activate#(V1)
length#(cons(N, L)) → activate#(L)

take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))U132#(tt, IL, M, N) → isNat#(activate(M))
U101#(tt, V1, V2) → isNatKind#(activate(V1))U12#(tt, V1) → U13#(isNatList(activate(V1)))
isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))U94#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → activate#(V1)U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))
isNatIListKind#(n__take(V1, V2)) → activate#(V1)U94#(tt, V1, V2) → activate#(V1)
U121#(tt, IL) → activate#(IL)U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))
U51#(tt, V2) → activate#(V2)U31#(tt, V) → isNatIListKind#(activate(V))
isNat#(n__length(V1)) → activate#(V1)isNatIListKind#(n__cons(V1, V2)) → activate#(V2)
U111#(tt, L, N) → isNatIListKind#(activate(L))length#(nil) → 0#
U44#(tt, V1, V2) → isNat#(activate(V1))U105#(tt, V2) → isNatIList#(activate(V2))
U113#(tt, L, N) → isNatKind#(activate(N))U113#(tt, L, N) → activate#(L)
U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
activate#(n__length(X)) → length#(activate(X))take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)
length#(cons(N, L)) → isNatList#(activate(L))U134#(tt, IL, M, N) → activate#(M)
U136#(tt, IL, M, N) → activate#(IL)isNatList#(n__take(V1, V2)) → activate#(V2)
U95#(tt, V2) → isNatList#(activate(V2))U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U134#(tt, IL, M, N) → activate#(N)U132#(tt, IL, M, N) → activate#(M)
U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(s(M), cons(N, IL)) → activate#(IL)isNatKind#(n__s(V1)) → isNatKind#(activate(V1))
isNatIListKind#(n__cons(V1, V2)) → activate#(V1)U114#(tt, L) → activate#(L)
isNat#(n__s(V1)) → isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2)) → activate#(V2)
activate#(n__s(X)) → activate#(X)U92#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → isNatIListKind#(activate(V2))isNatKind#(n__length(V1)) → activate#(V1)
isNatKind#(n__s(V1)) → activate#(V1)U32#(tt, V) → isNatList#(activate(V))
U102#(tt, V1, V2) → isNatIListKind#(activate(V2))U93#(tt, V1, V2) → activate#(V1)
U102#(tt, V1, V2) → activate#(V1)U105#(tt, V2) → activate#(V2)
U131#(tt, IL, M, N) → activate#(N)isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U31#(tt, V) → activate#(V)U132#(tt, IL, M, N) → activate#(IL)
U131#(tt, IL, M, N) → activate#(IL)U114#(tt, L) → length#(activate(L))
U91#(tt, V1, V2) → activate#(V2)U122#(tt) → nil#
U102#(tt, V1, V2) → activate#(V2)U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))
U112#(tt, L, N) → isNat#(activate(N))U93#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → activate#(V1)U11#(tt, V1) → activate#(V1)
U32#(tt, V) → activate#(V)U41#(tt, V1, V2) → activate#(V2)
U95#(tt, V2) → U96#(isNatList(activate(V2)))U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U42#(tt, V1, V2) → isNatIListKind#(activate(V2))
U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U12#(tt, V1) → activate#(V1)
U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U104#(tt, V1, V2) → activate#(V2)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N) → activate#(M)U45#(tt, V2) → isNatIList#(activate(V2))
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNat#(n__s(V1)) → activate#(V1)
U134#(tt, IL, M, N) → isNat#(activate(N))U105#(tt, V2) → U106#(isNatIList(activate(V2)))
U41#(tt, V1, V2) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))isNatIList#(V) → isNatIListKind#(activate(V))
isNatList#(n__cons(V1, V2)) → activate#(V2)isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → activate#(V2)U112#(tt, L, N) → activate#(N)
U42#(tt, V1, V2) → activate#(V1)U133#(tt, IL, M, N) → activate#(IL)
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → activate#(L)U41#(tt, V1, V2) → activate#(V1)
U42#(tt, V1, V2) → activate#(V2)U103#(tt, V1, V2) → activate#(V1)
U22#(tt, V1) → activate#(V1)U12#(tt, V1) → isNatList#(activate(V1))
U92#(tt, V1, V2) → activate#(V2)U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U136#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))
isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(M)
activate#(n__length(X)) → activate#(X)U103#(tt, V1, V2) → isNatIListKind#(activate(V2))
U22#(tt, V1) → isNat#(activate(V1))U111#(tt, L, N) → activate#(L)
U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(N)
U51#(tt, V2) → isNatIListKind#(activate(V2))U101#(tt, V1, V2) → activate#(V2)
U61#(tt, V2) → isNatIListKind#(activate(V2))U92#(tt, V1, V2) → isNatIListKind#(activate(V2))
U133#(tt, IL, M, N) → isNatKind#(activate(M))U135#(tt, IL, M, N) → activate#(N)
U132#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__take(V1, V2)) → activate#(V2)
U104#(tt, V1, V2) → activate#(V1)activate#(n__take(X1, X2)) → activate#(X2)
U61#(tt, V2) → activate#(V2)isNatIList#(V) → activate#(V)
U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))
U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))U94#(tt, V1, V2) → isNat#(activate(V1))
U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2) → activate#(V1)
U104#(tt, V1, V2) → isNat#(activate(V1))U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U43#(tt, V1, V2) → isNatIListKind#(activate(V2))U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → activate#(V1)length#(cons(N, L)) → activate#(L)

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)U51#(tt, V2) → U52#(isNatIListKind(activate(V2)))
isNatList#(n__take(V1, V2)) → activate#(V1)U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))
isNatIListKind#(n__take(V1, V2)) → activate#(V1)U94#(tt, V1, V2) → activate#(V1)
U121#(tt, IL) → activate#(IL)U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))
U51#(tt, V2) → activate#(V2)U31#(tt, V) → isNatIListKind#(activate(V))
isNat#(n__length(V1)) → activate#(V1)isNatIListKind#(n__cons(V1, V2)) → activate#(V2)
length#(nil) → 0#U111#(tt, L, N) → isNatIListKind#(activate(L))
U44#(tt, V1, V2) → isNat#(activate(V1))U105#(tt, V2) → isNatIList#(activate(V2))
U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U113#(tt, L, N) → isNatKind#(activate(N))
U113#(tt, L, N) → activate#(L)isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
activate#(n__length(X)) → length#(activate(X))take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)
U134#(tt, IL, M, N) → activate#(M)length#(cons(N, L)) → isNatList#(activate(L))
U136#(tt, IL, M, N) → activate#(IL)isNatList#(n__take(V1, V2)) → activate#(V2)
U95#(tt, V2) → isNatList#(activate(V2))U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U134#(tt, IL, M, N) → activate#(N)isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
U132#(tt, IL, M, N) → activate#(M)U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
take#(s(M), cons(N, IL)) → activate#(IL)isNatKind#(n__s(V1)) → isNatKind#(activate(V1))
isNatIListKind#(n__cons(V1, V2)) → activate#(V1)U114#(tt, L) → activate#(L)
isNat#(n__s(V1)) → isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2)) → activate#(V2)
activate#(n__s(X)) → activate#(X)U92#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → isNatIListKind#(activate(V2))isNatKind#(n__length(V1)) → activate#(V1)
isNatKind#(n__s(V1)) → activate#(V1)U32#(tt, V) → isNatList#(activate(V))
U102#(tt, V1, V2) → isNatIListKind#(activate(V2))U93#(tt, V1, V2) → activate#(V1)
U102#(tt, V1, V2) → activate#(V1)U105#(tt, V2) → activate#(V2)
U131#(tt, IL, M, N) → activate#(N)isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))
U31#(tt, V) → activate#(V)U132#(tt, IL, M, N) → activate#(IL)
U131#(tt, IL, M, N) → activate#(IL)U114#(tt, L) → length#(activate(L))
U91#(tt, V1, V2) → activate#(V2)U122#(tt) → nil#
U102#(tt, V1, V2) → activate#(V2)U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))
U112#(tt, L, N) → isNat#(activate(N))U93#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → activate#(V1)U11#(tt, V1) → activate#(V1)
U32#(tt, V) → activate#(V)U41#(tt, V1, V2) → activate#(V2)
U11#(tt, V1) → isNatIListKind#(activate(V1))U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))
isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(M)
U134#(tt, IL, M, N) → activate#(IL)U113#(tt, L, N) → activate#(N)
U43#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N) → activate#(IL)activate#(n__take(X1, X2)) → activate#(X1)
U91#(tt, V1, V2) → activate#(V1)U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → activate#(V2)isNatList#(n__cons(V1, V2)) → activate#(V1)
isNat#(n__length(V1)) → isNatIListKind#(activate(V1))take#(0, IL) → isNatIList#(IL)
U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U42#(tt, V1, V2) → isNatIListKind#(activate(V2))
U121#(tt, IL) → isNatIListKind#(activate(IL))U136#(tt, IL, M, N) → activate#(M)
U12#(tt, V1) → activate#(V1)U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U104#(tt, V1, V2) → activate#(V2)activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))
U21#(tt, V1) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → isNatKind#(activate(N))
U45#(tt, V2) → activate#(V2)U95#(tt, V2) → activate#(V2)
length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)U135#(tt, IL, M, N) → activate#(M)
U45#(tt, V2) → isNatIList#(activate(V2))U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2)) → activate#(X1)
U44#(tt, V1, V2) → activate#(V1)U91#(tt, V1, V2) → isNatKind#(activate(V1))
U101#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNat#(n__s(V1)) → activate#(V1)U134#(tt, IL, M, N) → isNat#(activate(N))
U41#(tt, V1, V2) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))isNatIList#(V) → isNatIListKind#(activate(V))
isNatList#(n__cons(V1, V2)) → activate#(V2)isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → activate#(V2)U112#(tt, L, N) → activate#(N)
U42#(tt, V1, V2) → activate#(V1)U133#(tt, IL, M, N) → activate#(IL)
U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))
U112#(tt, L, N) → activate#(L)U41#(tt, V1, V2) → activate#(V1)
U42#(tt, V1, V2) → activate#(V2)U103#(tt, V1, V2) → activate#(V1)
U22#(tt, V1) → activate#(V1)U12#(tt, V1) → isNatList#(activate(V1))
U92#(tt, V1, V2) → activate#(V2)U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U136#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))
isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(M)
activate#(n__length(X)) → activate#(X)U103#(tt, V1, V2) → isNatIListKind#(activate(V2))
U22#(tt, V1) → isNat#(activate(V1))U111#(tt, L, N) → activate#(L)
U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(N)
U51#(tt, V2) → isNatIListKind#(activate(V2))U101#(tt, V1, V2) → activate#(V2)
U61#(tt, V2) → isNatIListKind#(activate(V2))U92#(tt, V1, V2) → isNatIListKind#(activate(V2))
U133#(tt, IL, M, N) → isNatKind#(activate(M))U132#(tt, IL, M, N) → activate#(N)
U135#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__take(V1, V2)) → activate#(V2)
U104#(tt, V1, V2) → activate#(V1)activate#(n__take(X1, X2)) → activate#(X2)
U61#(tt, V2) → activate#(V2)isNatIList#(V) → activate#(V)
U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))
U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))U94#(tt, V1, V2) → isNat#(activate(V1))
U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2) → activate#(V1)
U104#(tt, V1, V2) → isNat#(activate(V1))U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U114#(tt, L) → s#(length(activate(L)))U43#(tt, V1, V2) → isNatIListKind#(activate(V2))
U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → activate#(V1)
length#(cons(N, L)) → activate#(L)

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U94#(tt, V1, V2) → activate#(V1)U121#(tt, IL) → activate#(IL)
U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
length#(nil) → 0#U44#(tt, V1, V2) → isNat#(activate(V1))
U105#(tt, V2) → isNatIList#(activate(V2))U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U113#(tt, L, N) → activate#(L)U113#(tt, L, N) → isNatKind#(activate(N))
isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))activate#(n__length(X)) → length#(activate(X))
take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)U134#(tt, IL, M, N) → activate#(M)
length#(cons(N, L)) → isNatList#(activate(L))U136#(tt, IL, M, N) → activate#(IL)
isNatList#(n__take(V1, V2)) → activate#(V2)U95#(tt, V2) → isNatList#(activate(V2))
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → activate#(N)
isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
U132#(tt, IL, M, N) → activate#(M)take#(s(M), cons(N, IL)) → activate#(IL)
isNatKind#(n__s(V1)) → isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2)) → activate#(V1)
U114#(tt, L) → activate#(L)isNat#(n__s(V1)) → isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2)) → activate#(V2)activate#(n__s(X)) → activate#(X)
U92#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → isNatIListKind#(activate(V2))
isNatKind#(n__length(V1)) → activate#(V1)isNatKind#(n__s(V1)) → activate#(V1)
U32#(tt, V) → isNatList#(activate(V))U102#(tt, V1, V2) → isNatIListKind#(activate(V2))
U93#(tt, V1, V2) → activate#(V1)U102#(tt, V1, V2) → activate#(V1)
U105#(tt, V2) → activate#(V2)U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U31#(tt, V) → activate#(V)
U132#(tt, IL, M, N) → activate#(IL)U114#(tt, L) → length#(activate(L))
U131#(tt, IL, M, N) → activate#(IL)U91#(tt, V1, V2) → activate#(V2)
U102#(tt, V1, V2) → activate#(V2)U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))
U112#(tt, L, N) → isNat#(activate(N))U93#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → activate#(V1)U11#(tt, V1) → activate#(V1)
U32#(tt, V) → activate#(V)U41#(tt, V1, V2) → activate#(V2)
U95#(tt, V2) → U96#(isNatList(activate(V2)))U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U42#(tt, V1, V2) → isNatIListKind#(activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U12#(tt, V1) → activate#(V1)U104#(tt, V1, V2) → activate#(V2)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N) → activate#(M)U45#(tt, V2) → isNatIList#(activate(V2))
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNat#(n__s(V1)) → activate#(V1)
U134#(tt, IL, M, N) → isNat#(activate(N))U105#(tt, V2) → U106#(isNatIList(activate(V2)))
U41#(tt, V1, V2) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))isNatList#(n__cons(V1, V2)) → activate#(V2)
isNatIList#(V) → isNatIListKind#(activate(V))isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → activate#(V2)U112#(tt, L, N) → activate#(N)
U42#(tt, V1, V2) → activate#(V1)U133#(tt, IL, M, N) → activate#(IL)
U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))
U112#(tt, L, N) → activate#(L)U41#(tt, V1, V2) → activate#(V1)
U42#(tt, V1, V2) → activate#(V2)U103#(tt, V1, V2) → activate#(V1)
U22#(tt, V1) → activate#(V1)U12#(tt, V1) → isNatList#(activate(V1))
U92#(tt, V1, V2) → activate#(V2)isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))
U111#(tt, L, N) → activate#(N)U136#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(M)activate#(n__length(X)) → activate#(X)
U103#(tt, V1, V2) → isNatIListKind#(activate(V2))U22#(tt, V1) → isNat#(activate(V1))
U111#(tt, L, N) → activate#(L)U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U135#(tt, IL, M, N) → activate#(N)U132#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))take#(0, IL) → U121#(isNatIList(IL), IL)
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L) → s#(length(activate(L)))
U43#(tt, V1, V2) → isNatIListKind#(activate(V2))U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → activate#(V1)length#(cons(N, L)) → activate#(L)

take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))U132#(tt, IL, M, N) → isNat#(activate(M))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U121#(tt, IL) → activate#(IL)U94#(tt, V1, V2) → activate#(V1)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
U44#(tt, V1, V2) → isNat#(activate(V1))U105#(tt, V2) → isNatIList#(activate(V2))
U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U113#(tt, L, N) → activate#(L)
U113#(tt, L, N) → isNatKind#(activate(N))isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
activate#(n__length(X)) → length#(activate(X))take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)
length#(cons(N, L)) → isNatList#(activate(L))U134#(tt, IL, M, N) → activate#(M)
isNatList#(n__take(V1, V2)) → activate#(V2)U136#(tt, IL, M, N) → activate#(IL)
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U95#(tt, V2) → isNatList#(activate(V2))
U134#(tt, IL, M, N) → activate#(N)U132#(tt, IL, M, N) → activate#(M)
U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(s(M), cons(N, IL)) → activate#(IL)isNatKind#(n__s(V1)) → isNatKind#(activate(V1))
isNatIListKind#(n__cons(V1, V2)) → activate#(V1)U114#(tt, L) → activate#(L)
isNat#(n__s(V1)) → isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2)) → activate#(V2)
activate#(n__s(X)) → activate#(X)U92#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → isNatIListKind#(activate(V2))isNatKind#(n__length(V1)) → activate#(V1)
isNatKind#(n__s(V1)) → activate#(V1)U32#(tt, V) → isNatList#(activate(V))
U102#(tt, V1, V2) → isNatIListKind#(activate(V2))U102#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → activate#(V1)U105#(tt, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U31#(tt, V) → activate#(V)U132#(tt, IL, M, N) → activate#(IL)
U114#(tt, L) → length#(activate(L))U131#(tt, IL, M, N) → activate#(IL)
U91#(tt, V1, V2) → activate#(V2)U122#(tt) → nil#
U102#(tt, V1, V2) → activate#(V2)U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))
U32#(tt, V) → U33#(isNatList(activate(V)))U112#(tt, L, N) → isNat#(activate(N))
U93#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → activate#(V1)
U11#(tt, V1) → activate#(V1)U32#(tt, V) → activate#(V)
U41#(tt, V1, V2) → activate#(V2)U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U42#(tt, V1, V2) → isNatIListKind#(activate(V2))
U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U104#(tt, V1, V2) → activate#(V2)
U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U12#(tt, V1) → activate#(V1)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N) → activate#(M)U45#(tt, V2) → isNatIList#(activate(V2))
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U41#(tt, V1, V2) → isNatKind#(activate(V1))
U105#(tt, V2) → U106#(isNatIList(activate(V2)))U134#(tt, IL, M, N) → isNat#(activate(N))
isNat#(n__s(V1)) → activate#(V1)U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))isNatList#(n__cons(V1, V2)) → activate#(V2)
isNatIList#(V) → isNatIListKind#(activate(V))isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → activate#(V2)U42#(tt, V1, V2) → activate#(V1)
U112#(tt, L, N) → activate#(N)U133#(tt, IL, M, N) → activate#(IL)
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → activate#(L)U41#(tt, V1, V2) → activate#(V1)
U42#(tt, V1, V2) → activate#(V2)U103#(tt, V1, V2) → activate#(V1)
U22#(tt, V1) → activate#(V1)U92#(tt, V1, V2) → activate#(V2)
U12#(tt, V1) → isNatList#(activate(V1))U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U136#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))
isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(M)
activate#(n__length(X)) → activate#(X)U103#(tt, V1, V2) → isNatIListKind#(activate(V2))
U22#(tt, V1) → isNat#(activate(V1))U111#(tt, L, N) → activate#(L)
U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(N)
U51#(tt, V2) → isNatIListKind#(activate(V2))U101#(tt, V1, V2) → activate#(V2)
U61#(tt, V2) → isNatIListKind#(activate(V2))U92#(tt, V1, V2) → isNatIListKind#(activate(V2))
U133#(tt, IL, M, N) → isNatKind#(activate(M))U132#(tt, IL, M, N) → activate#(N)
U135#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__take(V1, V2)) → activate#(V2)
U104#(tt, V1, V2) → activate#(V1)activate#(n__take(X1, X2)) → activate#(X2)
U61#(tt, V2) → activate#(V2)isNatIList#(V) → activate#(V)
U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(0, IL) → U121#(isNatIList(IL), IL)
U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))
U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))U94#(tt, V1, V2) → isNat#(activate(V1))
U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2) → activate#(V1)
U104#(tt, V1, V2) → isNat#(activate(V1))U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U43#(tt, V1, V2) → isNatIListKind#(activate(V2))U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → activate#(V1)length#(cons(N, L)) → activate#(L)

take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))U132#(tt, IL, M, N) → isNat#(activate(M))
U101#(tt, V1, V2) → isNatKind#(activate(V1))U12#(tt, V1) → U13#(isNatList(activate(V1)))
isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))U94#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → activate#(V1)U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))
isNatIListKind#(n__take(V1, V2)) → activate#(V1)U94#(tt, V1, V2) → activate#(V1)
U121#(tt, IL) → activate#(IL)U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))
U51#(tt, V2) → activate#(V2)U31#(tt, V) → isNatIListKind#(activate(V))
isNat#(n__length(V1)) → activate#(V1)isNatIListKind#(n__cons(V1, V2)) → activate#(V2)
U111#(tt, L, N) → isNatIListKind#(activate(L))length#(nil) → 0#
U44#(tt, V1, V2) → isNat#(activate(V1))U105#(tt, V2) → isNatIList#(activate(V2))
U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U113#(tt, L, N) → isNatKind#(activate(N))
U113#(tt, L, N) → activate#(L)isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
activate#(n__length(X)) → length#(activate(X))take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)
length#(cons(N, L)) → isNatList#(activate(L))U134#(tt, IL, M, N) → activate#(M)
U136#(tt, IL, M, N) → activate#(IL)isNatList#(n__take(V1, V2)) → activate#(V2)
U95#(tt, V2) → isNatList#(activate(V2))U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U134#(tt, IL, M, N) → activate#(N)U132#(tt, IL, M, N) → activate#(M)
U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(s(M), cons(N, IL)) → activate#(IL)isNatKind#(n__s(V1)) → isNatKind#(activate(V1))
isNatIListKind#(n__cons(V1, V2)) → activate#(V1)U114#(tt, L) → activate#(L)
isNat#(n__s(V1)) → isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2)) → activate#(V2)
activate#(n__s(X)) → activate#(X)U92#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → isNatIListKind#(activate(V2))isNatKind#(n__length(V1)) → activate#(V1)
isNatKind#(n__s(V1)) → activate#(V1)U32#(tt, V) → isNatList#(activate(V))
U102#(tt, V1, V2) → isNatIListKind#(activate(V2))U93#(tt, V1, V2) → activate#(V1)
U102#(tt, V1, V2) → activate#(V1)U105#(tt, V2) → activate#(V2)
U131#(tt, IL, M, N) → activate#(N)isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))
U31#(tt, V) → activate#(V)U132#(tt, IL, M, N) → activate#(IL)
U131#(tt, IL, M, N) → activate#(IL)U114#(tt, L) → length#(activate(L))
U91#(tt, V1, V2) → activate#(V2)U122#(tt) → nil#
U102#(tt, V1, V2) → activate#(V2)U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))
U112#(tt, L, N) → isNat#(activate(N))U93#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → activate#(V1)U11#(tt, V1) → activate#(V1)
U32#(tt, V) → activate#(V)U41#(tt, V1, V2) → activate#(V2)
U95#(tt, V2) → U96#(isNatList(activate(V2)))U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U42#(tt, V1, V2) → isNatIListKind#(activate(V2))
U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U12#(tt, V1) → activate#(V1)
U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U104#(tt, V1, V2) → activate#(V2)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N) → activate#(M)U45#(tt, V2) → isNatIList#(activate(V2))
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNat#(n__s(V1)) → activate#(V1)
U134#(tt, IL, M, N) → isNat#(activate(N))U105#(tt, V2) → U106#(isNatIList(activate(V2)))
U41#(tt, V1, V2) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))isNatIList#(V) → isNatIListKind#(activate(V))
isNatList#(n__cons(V1, V2)) → activate#(V2)isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → activate#(V2)U112#(tt, L, N) → activate#(N)
U42#(tt, V1, V2) → activate#(V1)U133#(tt, IL, M, N) → activate#(IL)
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → activate#(L)U41#(tt, V1, V2) → activate#(V1)
U42#(tt, V1, V2) → activate#(V2)U103#(tt, V1, V2) → activate#(V1)
U22#(tt, V1) → activate#(V1)U12#(tt, V1) → isNatList#(activate(V1))
U92#(tt, V1, V2) → activate#(V2)U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U136#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))
isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(M)
activate#(n__length(X)) → activate#(X)U103#(tt, V1, V2) → isNatIListKind#(activate(V2))
U22#(tt, V1) → isNat#(activate(V1))U111#(tt, L, N) → activate#(L)
U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(N)
U51#(tt, V2) → isNatIListKind#(activate(V2))U101#(tt, V1, V2) → activate#(V2)
U61#(tt, V2) → isNatIListKind#(activate(V2))U92#(tt, V1, V2) → isNatIListKind#(activate(V2))
U133#(tt, IL, M, N) → isNatKind#(activate(M))U132#(tt, IL, M, N) → activate#(N)
U135#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__take(V1, V2)) → activate#(V2)
U104#(tt, V1, V2) → activate#(V1)activate#(n__take(X1, X2)) → activate#(X2)
U61#(tt, V2) → activate#(V2)isNatIList#(V) → activate#(V)
U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))
U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))U94#(tt, V1, V2) → isNat#(activate(V1))
U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2) → activate#(V1)
U104#(tt, V1, V2) → isNat#(activate(V1))U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U114#(tt, L) → s#(length(activate(L)))U43#(tt, V1, V2) → isNatIListKind#(activate(V2))
U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → activate#(V1)
length#(cons(N, L)) → activate#(L)

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U121#(tt, IL) → activate#(IL)U94#(tt, V1, V2) → activate#(V1)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
U44#(tt, V1, V2) → isNat#(activate(V1))U105#(tt, V2) → isNatIList#(activate(V2))
U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U113#(tt, L, N) → activate#(L)
U113#(tt, L, N) → isNatKind#(activate(N))isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
activate#(n__length(X)) → length#(activate(X))take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)
length#(cons(N, L)) → isNatList#(activate(L))U134#(tt, IL, M, N) → activate#(M)
isNatList#(n__take(V1, V2)) → activate#(V2)U136#(tt, IL, M, N) → activate#(IL)
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U95#(tt, V2) → isNatList#(activate(V2))
U134#(tt, IL, M, N) → activate#(N)U132#(tt, IL, M, N) → activate#(M)
U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(s(M), cons(N, IL)) → activate#(IL)isNatKind#(n__s(V1)) → isNatKind#(activate(V1))
isNatIListKind#(n__cons(V1, V2)) → activate#(V1)U114#(tt, L) → activate#(L)
isNat#(n__s(V1)) → isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2)) → activate#(V2)
activate#(n__s(X)) → activate#(X)U92#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → isNatIListKind#(activate(V2))isNatKind#(n__length(V1)) → activate#(V1)
isNatKind#(n__s(V1)) → activate#(V1)U32#(tt, V) → isNatList#(activate(V))
U102#(tt, V1, V2) → isNatIListKind#(activate(V2))U102#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → activate#(V1)U105#(tt, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U31#(tt, V) → activate#(V)U132#(tt, IL, M, N) → activate#(IL)
U114#(tt, L) → length#(activate(L))U131#(tt, IL, M, N) → activate#(IL)
U91#(tt, V1, V2) → activate#(V2)U122#(tt) → nil#
U102#(tt, V1, V2) → activate#(V2)U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))
U112#(tt, L, N) → isNat#(activate(N))U93#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → activate#(V1)U11#(tt, V1) → activate#(V1)
U32#(tt, V) → activate#(V)U41#(tt, V1, V2) → activate#(V2)
U11#(tt, V1) → isNatIListKind#(activate(V1))U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))
isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(M)
U134#(tt, IL, M, N) → activate#(IL)U113#(tt, L, N) → activate#(N)
U43#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N) → activate#(IL)activate#(n__take(X1, X2)) → activate#(X1)
U91#(tt, V1, V2) → activate#(V1)U44#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))isNatList#(n__cons(V1, V2)) → activate#(V1)
isNat#(n__length(V1)) → isNatIListKind#(activate(V1))take#(0, IL) → isNatIList#(IL)
U42#(tt, V1, V2) → isNatIListKind#(activate(V2))U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U121#(tt, IL) → isNatIListKind#(activate(IL))U136#(tt, IL, M, N) → activate#(M)
U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U104#(tt, V1, V2) → activate#(V2)
U12#(tt, V1) → activate#(V1)activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))
U21#(tt, V1) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → isNatKind#(activate(N))
U45#(tt, V2) → activate#(V2)U95#(tt, V2) → activate#(V2)
length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)U135#(tt, IL, M, N) → activate#(M)
U45#(tt, V2) → isNatIList#(activate(V2))U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2)) → activate#(X1)
U44#(tt, V1, V2) → activate#(V1)U91#(tt, V1, V2) → isNatKind#(activate(V1))
U101#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U134#(tt, IL, M, N) → isNat#(activate(N))U41#(tt, V1, V2) → isNatKind#(activate(V1))
isNat#(n__s(V1)) → activate#(V1)U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))isNatIList#(V) → isNatIListKind#(activate(V))
isNatList#(n__cons(V1, V2)) → activate#(V2)isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → activate#(V2)U42#(tt, V1, V2) → activate#(V1)
U112#(tt, L, N) → activate#(N)U133#(tt, IL, M, N) → activate#(IL)
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → activate#(L)U41#(tt, V1, V2) → activate#(V1)
U42#(tt, V1, V2) → activate#(V2)U103#(tt, V1, V2) → activate#(V1)
U22#(tt, V1) → activate#(V1)U12#(tt, V1) → isNatList#(activate(V1))
U92#(tt, V1, V2) → activate#(V2)U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U136#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))
isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(M)
activate#(n__length(X)) → activate#(X)U103#(tt, V1, V2) → isNatIListKind#(activate(V2))
U22#(tt, V1) → isNat#(activate(V1))U111#(tt, L, N) → activate#(L)
U45#(tt, V2) → U46#(isNatIList(activate(V2)))U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U132#(tt, IL, M, N) → activate#(N)U135#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U43#(tt, V1, V2) → isNatIListKind#(activate(V2))
U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → activate#(V1)
length#(cons(N, L)) → activate#(L)

Problem 2: DependencyGraph



Dependency Pair Problem

Dependency Pairs

take#(s(M), cons(N, IL))isNatIList#(activate(IL))U132#(tt, IL, M, N)isNat#(activate(M))
U101#(tt, V1, V2)isNatKind#(activate(V1))isNatIList#(V)U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2)activate#(V2)isNatList#(n__take(V1, V2))activate#(V1)
U104#(tt, V1, V2)U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2))activate#(V1)
U121#(tt, IL)activate#(IL)U94#(tt, V1, V2)activate#(V1)
U131#(tt, IL, M, N)U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N)U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2))U61#(isNatKind(activate(V1)), activate(V2))U31#(tt, V)isNatIListKind#(activate(V))
U51#(tt, V2)activate#(V2)isNat#(n__length(V1))activate#(V1)
isNatIListKind#(n__cons(V1, V2))activate#(V2)length#(nil)0#
U111#(tt, L, N)isNatIListKind#(activate(L))U44#(tt, V1, V2)isNat#(activate(V1))
U105#(tt, V2)isNatIList#(activate(V2))U113#(tt, L, N)activate#(L)
U113#(tt, L, N)isNatKind#(activate(N))U92#(tt, V1, V2)U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))isNatKind#(activate(V1))activate#(n__length(X))length#(activate(X))
take#(s(M), cons(N, IL))U131#(isNatIList(activate(IL)), activate(IL), M, N)length#(cons(N, L))isNatList#(activate(L))
U134#(tt, IL, M, N)activate#(M)isNatList#(n__take(V1, V2))activate#(V2)
U136#(tt, IL, M, N)activate#(IL)U133#(tt, IL, M, N)U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U95#(tt, V2)isNatList#(activate(V2))U134#(tt, IL, M, N)activate#(N)
U132#(tt, IL, M, N)activate#(M)U132#(tt, IL, M, N)U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
isNatIList#(n__cons(V1, V2))U41#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(s(M), cons(N, IL))activate#(IL)
isNatKind#(n__s(V1))isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2))activate#(V1)
U114#(tt, L)activate#(L)isNat#(n__s(V1))isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2))activate#(V2)activate#(n__s(X))activate#(X)
U92#(tt, V1, V2)activate#(V1)U93#(tt, V1, V2)isNatIListKind#(activate(V2))
isNatKind#(n__length(V1))activate#(V1)isNatKind#(n__s(V1))activate#(V1)
U32#(tt, V)isNatList#(activate(V))U93#(tt, V1, V2)activate#(V1)
U102#(tt, V1, V2)activate#(V1)U102#(tt, V1, V2)isNatIListKind#(activate(V2))
U105#(tt, V2)activate#(V2)U131#(tt, IL, M, N)activate#(N)
isNatList#(n__cons(V1, V2))isNatKind#(activate(V1))U103#(tt, V1, V2)U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatList#(n__take(V1, V2))isNatKind#(activate(V1))U31#(tt, V)activate#(V)
U132#(tt, IL, M, N)activate#(IL)U131#(tt, IL, M, N)activate#(IL)
U114#(tt, L)length#(activate(L))U91#(tt, V1, V2)activate#(V2)
U122#(tt)nil#U31#(tt, V)U32#(isNatIListKind(activate(V)), activate(V))
U102#(tt, V1, V2)activate#(V2)U112#(tt, L, N)isNat#(activate(N))
U93#(tt, V1, V2)activate#(V2)U21#(tt, V1)activate#(V1)
U32#(tt, V)activate#(V)U11#(tt, V1)activate#(V1)
U41#(tt, V1, V2)activate#(V2)U11#(tt, V1)isNatIListKind#(activate(V1))
U136#(tt, IL, M, N)cons#(activate(N), n__take(activate(M), activate(IL)))U131#(tt, IL, M, N)activate#(M)
isNatIListKind#(n__take(V1, V2))isNatKind#(activate(V1))U134#(tt, IL, M, N)activate#(IL)
U113#(tt, L, N)activate#(N)U43#(tt, V1, V2)activate#(V2)
isNatList#(n__take(V1, V2))U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N)activate#(IL)
activate#(n__take(X1, X2))activate#(X1)U91#(tt, V1, V2)activate#(V1)
U44#(tt, V1, V2)activate#(V2)U21#(tt, V1)U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2))activate#(V1)isNat#(n__length(V1))isNatIListKind#(activate(V1))
U42#(tt, V1, V2)isNatIListKind#(activate(V2))U43#(tt, V1, V2)U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
take#(0, IL)isNatIList#(IL)U121#(tt, IL)isNatIListKind#(activate(IL))
U136#(tt, IL, M, N)activate#(M)U12#(tt, V1)activate#(V1)
U104#(tt, V1, V2)activate#(V2)U101#(tt, V1, V2)U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U21#(tt, V1)isNatKind#(activate(V1))activate#(n__take(X1, X2))take#(activate(X1), activate(X2))
U135#(tt, IL, M, N)isNatKind#(activate(N))U45#(tt, V2)activate#(V2)
U95#(tt, V2)activate#(V2)length#(cons(N, L))U111#(isNatList(activate(L)), activate(L), N)
U45#(tt, V2)isNatIList#(activate(V2))U135#(tt, IL, M, N)activate#(M)
U11#(tt, V1)U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2)U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2))activate#(X1)U44#(tt, V1, V2)activate#(V1)
U91#(tt, V1, V2)isNatKind#(activate(V1))U101#(tt, V1, V2)activate#(V1)
U93#(tt, V1, V2)U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U134#(tt, IL, M, N)isNat#(activate(N))
U105#(tt, V2)U106#(isNatIList(activate(V2)))U41#(tt, V1, V2)isNatKind#(activate(V1))
isNat#(n__s(V1))activate#(V1)U135#(tt, IL, M, N)U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1))isNatIListKind#(activate(V1))isNatIList#(V)isNatIListKind#(activate(V))
isNatList#(n__cons(V1, V2))activate#(V2)isNatIListKind#(n__cons(V1, V2))isNatKind#(activate(V1))
U103#(tt, V1, V2)activate#(V2)U112#(tt, L, N)activate#(N)
U42#(tt, V1, V2)activate#(V1)U133#(tt, IL, M, N)activate#(IL)
U112#(tt, L, N)U113#(isNat(activate(N)), activate(L), activate(N))U42#(tt, V1, V2)U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N)activate#(L)U41#(tt, V1, V2)activate#(V1)
U42#(tt, V1, V2)activate#(V2)U103#(tt, V1, V2)activate#(V1)
U22#(tt, V1)activate#(V1)U12#(tt, V1)isNatList#(activate(V1))
U92#(tt, V1, V2)activate#(V2)U121#(tt, IL)U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1))U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N)activate#(N)
U136#(tt, IL, M, N)activate#(N)isNatIListKind#(n__cons(V1, V2))U51#(isNatKind(activate(V1)), activate(V2))
isNatList#(n__cons(V1, V2))U91#(isNatKind(activate(V1)), activate(V1), activate(V2))U133#(tt, IL, M, N)activate#(M)
activate#(n__length(X))activate#(X)U103#(tt, V1, V2)isNatIListKind#(activate(V2))
U22#(tt, V1)isNat#(activate(V1))U111#(tt, L, N)activate#(L)
U45#(tt, V2)U46#(isNatIList(activate(V2)))U102#(tt, V1, V2)U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N)activate#(N)U51#(tt, V2)isNatIListKind#(activate(V2))
U101#(tt, V1, V2)activate#(V2)U61#(tt, V2)isNatIListKind#(activate(V2))
U92#(tt, V1, V2)isNatIListKind#(activate(V2))U133#(tt, IL, M, N)isNatKind#(activate(M))
U132#(tt, IL, M, N)activate#(N)U135#(tt, IL, M, N)activate#(N)
isNatIListKind#(n__take(V1, V2))activate#(V2)U104#(tt, V1, V2)activate#(V1)
activate#(n__take(X1, X2))activate#(X2)U61#(tt, V2)activate#(V2)
isNatIList#(V)activate#(V)U41#(tt, V1, V2)U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(0, IL)U121#(isNatIList(IL), IL)U94#(tt, V1, V2)U95#(isNat(activate(V1)), activate(V2))
isNat#(n__length(V1))U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N)isNatIListKind#(activate(IL))
U94#(tt, V1, V2)isNat#(activate(V1))U113#(tt, L, N)U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2)activate#(V1)U104#(tt, V1, V2)isNat#(activate(V1))
U111#(tt, L, N)U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L)s#(length(activate(L)))
U43#(tt, V1, V2)isNatIListKind#(activate(V2))U91#(tt, V1, V2)U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2))activate#(V1)length#(cons(N, L))activate#(L)

Rewrite Rules

zeroscons(0, n__zeros)U101(tt, V1, V2)U102(isNatKind(activate(V1)), activate(V1), activate(V2))
U102(tt, V1, V2)U103(isNatIListKind(activate(V2)), activate(V1), activate(V2))U103(tt, V1, V2)U104(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U104(tt, V1, V2)U105(isNat(activate(V1)), activate(V2))U105(tt, V2)U106(isNatIList(activate(V2)))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(activate(V1)), activate(V1))
U111(tt, L, N)U112(isNatIListKind(activate(L)), activate(L), activate(N))U112(tt, L, N)U113(isNat(activate(N)), activate(L), activate(N))
U113(tt, L, N)U114(isNatKind(activate(N)), activate(L))U114(tt, L)s(length(activate(L)))
U12(tt, V1)U13(isNatList(activate(V1)))U121(tt, IL)U122(isNatIListKind(activate(IL)))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U132(tt, IL, M, N)U133(isNat(activate(M)), activate(IL), activate(M), activate(N))
U133(tt, IL, M, N)U134(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134(tt, IL, M, N)U135(isNat(activate(N)), activate(IL), activate(M), activate(N))
U135(tt, IL, M, N)U136(isNatKind(activate(N)), activate(IL), activate(M), activate(N))U136(tt, IL, M, N)cons(activate(N), n__take(activate(M), activate(IL)))
U21(tt, V1)U22(isNatKind(activate(V1)), activate(V1))U22(tt, V1)U23(isNat(activate(V1)))
U23(tt)ttU31(tt, V)U32(isNatIListKind(activate(V)), activate(V))
U32(tt, V)U33(isNatList(activate(V)))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(activate(V1)), activate(V1), activate(V2))U42(tt, V1, V2)U43(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U43(tt, V1, V2)U44(isNatIListKind(activate(V2)), activate(V1), activate(V2))U44(tt, V1, V2)U45(isNat(activate(V1)), activate(V2))
U45(tt, V2)U46(isNatIList(activate(V2)))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(activate(V2)))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(activate(V2)))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(activate(V1)), activate(V1), activate(V2))U92(tt, V1, V2)U93(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U93(tt, V1, V2)U94(isNatIListKind(activate(V2)), activate(V1), activate(V2))U94(tt, V1, V2)U95(isNat(activate(V1)), activate(V2))
U95(tt, V2)U96(isNatList(activate(V2)))U96(tt)tt
isNat(n__0)ttisNat(n__length(V1))U11(isNatIListKind(activate(V1)), activate(V1))
isNat(n__s(V1))U21(isNatKind(activate(V1)), activate(V1))isNatIList(V)U31(isNatIListKind(activate(V)), activate(V))
isNatIList(n__zeros)ttisNatIList(n__cons(V1, V2))U41(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind(n__nil)ttisNatIListKind(n__zeros)tt
isNatIListKind(n__cons(V1, V2))U51(isNatKind(activate(V1)), activate(V2))isNatIListKind(n__take(V1, V2))U61(isNatKind(activate(V1)), activate(V2))
isNatKind(n__0)ttisNatKind(n__length(V1))U71(isNatIListKind(activate(V1)))
isNatKind(n__s(V1))U81(isNatKind(activate(V1)))isNatList(n__nil)tt
isNatList(n__cons(V1, V2))U91(isNatKind(activate(V1)), activate(V1), activate(V2))isNatList(n__take(V1, V2))U101(isNatKind(activate(V1)), activate(V1), activate(V2))
length(nil)0length(cons(N, L))U111(isNatList(activate(L)), activate(L), N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(activate(IL)), activate(IL), M, N)
zerosn__zerostake(X1, X2)n__take(X1, X2)
0n__0length(X)n__length(X)
s(X)n__s(X)cons(X1, X2)n__cons(X1, X2)
niln__nilactivate(n__zeros)zeros
activate(n__take(X1, X2))take(activate(X1), activate(X2))activate(n__0)0
activate(n__length(X))length(activate(X))activate(n__s(X))s(activate(X))
activate(n__cons(X1, X2))cons(activate(X1), X2)activate(n__nil)nil
activate(X)X

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, n__s, U112, activate, U111, U62, U114, U61, U113, n__nil, U23, U21, U22, isNatIList, n__length, isNatKind, U71, n__cons, U122, 0, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, n__0, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, n__zeros, cons, n__take, U51, s, isNatList, tt, take, U52, U81, U11, U12, U13, U102, U103, nil, U101

Strategy


The following SCCs where found

take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))U132#(tt, IL, M, N) → isNat#(activate(M))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U121#(tt, IL) → activate#(IL)U94#(tt, V1, V2) → activate#(V1)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
U44#(tt, V1, V2) → isNat#(activate(V1))U105#(tt, V2) → isNatIList#(activate(V2))
U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U113#(tt, L, N) → isNatKind#(activate(N))
U113#(tt, L, N) → activate#(L)isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
activate#(n__length(X)) → length#(activate(X))take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)
length#(cons(N, L)) → isNatList#(activate(L))U134#(tt, IL, M, N) → activate#(M)
isNatList#(n__take(V1, V2)) → activate#(V2)U136#(tt, IL, M, N) → activate#(IL)
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U95#(tt, V2) → isNatList#(activate(V2))
U134#(tt, IL, M, N) → activate#(N)U132#(tt, IL, M, N) → activate#(M)
U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(s(M), cons(N, IL)) → activate#(IL)isNatKind#(n__s(V1)) → isNatKind#(activate(V1))
isNatIListKind#(n__cons(V1, V2)) → activate#(V1)U114#(tt, L) → activate#(L)
isNat#(n__s(V1)) → isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2)) → activate#(V2)
activate#(n__s(X)) → activate#(X)U92#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → isNatIListKind#(activate(V2))isNatKind#(n__length(V1)) → activate#(V1)
isNatKind#(n__s(V1)) → activate#(V1)U32#(tt, V) → isNatList#(activate(V))
U102#(tt, V1, V2) → isNatIListKind#(activate(V2))U102#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → activate#(V1)U105#(tt, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U31#(tt, V) → activate#(V)U132#(tt, IL, M, N) → activate#(IL)
U114#(tt, L) → length#(activate(L))U131#(tt, IL, M, N) → activate#(IL)
U91#(tt, V1, V2) → activate#(V2)U122#(tt) → nil#
U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))U102#(tt, V1, V2) → activate#(V2)
U112#(tt, L, N) → isNat#(activate(N))U93#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → activate#(V1)U11#(tt, V1) → activate#(V1)
U32#(tt, V) → activate#(V)U41#(tt, V1, V2) → activate#(V2)
U11#(tt, V1) → isNatIListKind#(activate(V1))U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))
isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(M)
U134#(tt, IL, M, N) → activate#(IL)U113#(tt, L, N) → activate#(N)
U43#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N) → activate#(IL)activate#(n__take(X1, X2)) → activate#(X1)
U91#(tt, V1, V2) → activate#(V1)U44#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))isNatList#(n__cons(V1, V2)) → activate#(V1)
isNat#(n__length(V1)) → isNatIListKind#(activate(V1))take#(0, IL) → isNatIList#(IL)
U42#(tt, V1, V2) → isNatIListKind#(activate(V2))U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U121#(tt, IL) → isNatIListKind#(activate(IL))U136#(tt, IL, M, N) → activate#(M)
U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U104#(tt, V1, V2) → activate#(V2)
U12#(tt, V1) → activate#(V1)activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))
U21#(tt, V1) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → isNatKind#(activate(N))
U45#(tt, V2) → activate#(V2)U95#(tt, V2) → activate#(V2)
length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)U135#(tt, IL, M, N) → activate#(M)
U45#(tt, V2) → isNatIList#(activate(V2))U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2)) → activate#(X1)
U44#(tt, V1, V2) → activate#(V1)U91#(tt, V1, V2) → isNatKind#(activate(V1))
U101#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U134#(tt, IL, M, N) → isNat#(activate(N))U41#(tt, V1, V2) → isNatKind#(activate(V1))
isNat#(n__s(V1)) → activate#(V1)U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))isNatIList#(V) → isNatIListKind#(activate(V))
isNatList#(n__cons(V1, V2)) → activate#(V2)isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → activate#(V2)U112#(tt, L, N) → activate#(N)
U42#(tt, V1, V2) → activate#(V1)U133#(tt, IL, M, N) → activate#(IL)
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → activate#(L)U41#(tt, V1, V2) → activate#(V1)
U42#(tt, V1, V2) → activate#(V2)U103#(tt, V1, V2) → activate#(V1)
U22#(tt, V1) → activate#(V1)U12#(tt, V1) → isNatList#(activate(V1))
U92#(tt, V1, V2) → activate#(V2)U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U136#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))
isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(M)
activate#(n__length(X)) → activate#(X)U103#(tt, V1, V2) → isNatIListKind#(activate(V2))
U22#(tt, V1) → isNat#(activate(V1))U111#(tt, L, N) → activate#(L)
U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(N)
U51#(tt, V2) → isNatIListKind#(activate(V2))U101#(tt, V1, V2) → activate#(V2)
U61#(tt, V2) → isNatIListKind#(activate(V2))U92#(tt, V1, V2) → isNatIListKind#(activate(V2))
U133#(tt, IL, M, N) → isNatKind#(activate(M))U132#(tt, IL, M, N) → activate#(N)
U135#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__take(V1, V2)) → activate#(V2)
U104#(tt, V1, V2) → activate#(V1)activate#(n__take(X1, X2)) → activate#(X2)
U61#(tt, V2) → activate#(V2)isNatIList#(V) → activate#(V)
U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(0, IL) → U121#(isNatIList(IL), IL)
U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))
U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))U94#(tt, V1, V2) → isNat#(activate(V1))
U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2) → activate#(V1)
U104#(tt, V1, V2) → isNat#(activate(V1))U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U43#(tt, V1, V2) → isNatIListKind#(activate(V2))U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → activate#(V1)length#(cons(N, L)) → activate#(L)

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U94#(tt, V1, V2) → activate#(V1)U121#(tt, IL) → activate#(IL)
U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
length#(nil) → 0#U44#(tt, V1, V2) → isNat#(activate(V1))
U105#(tt, V2) → isNatIList#(activate(V2))U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U113#(tt, L, N) → activate#(L)U113#(tt, L, N) → isNatKind#(activate(N))
isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))activate#(n__length(X)) → length#(activate(X))
take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)U134#(tt, IL, M, N) → activate#(M)
length#(cons(N, L)) → isNatList#(activate(L))U136#(tt, IL, M, N) → activate#(IL)
isNatList#(n__take(V1, V2)) → activate#(V2)U95#(tt, V2) → isNatList#(activate(V2))
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → activate#(N)
isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
U132#(tt, IL, M, N) → activate#(M)take#(s(M), cons(N, IL)) → activate#(IL)
isNatKind#(n__s(V1)) → isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2)) → activate#(V1)
U114#(tt, L) → activate#(L)isNat#(n__s(V1)) → isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2)) → activate#(V2)activate#(n__s(X)) → activate#(X)
U92#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → isNatIListKind#(activate(V2))
isNatKind#(n__length(V1)) → activate#(V1)isNatKind#(n__s(V1)) → activate#(V1)
U32#(tt, V) → isNatList#(activate(V))U102#(tt, V1, V2) → isNatIListKind#(activate(V2))
U93#(tt, V1, V2) → activate#(V1)U102#(tt, V1, V2) → activate#(V1)
U105#(tt, V2) → activate#(V2)U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U31#(tt, V) → activate#(V)
U132#(tt, IL, M, N) → activate#(IL)U114#(tt, L) → length#(activate(L))
U131#(tt, IL, M, N) → activate#(IL)U91#(tt, V1, V2) → activate#(V2)
U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))U102#(tt, V1, V2) → activate#(V2)
U112#(tt, L, N) → isNat#(activate(N))U93#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → activate#(V1)U11#(tt, V1) → activate#(V1)
U32#(tt, V) → activate#(V)U41#(tt, V1, V2) → activate#(V2)
U11#(tt, V1) → isNatIListKind#(activate(V1))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U42#(tt, V1, V2) → isNatIListKind#(activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U12#(tt, V1) → activate#(V1)
U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U104#(tt, V1, V2) → activate#(V2)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U45#(tt, V2) → isNatIList#(activate(V2))U135#(tt, IL, M, N) → activate#(M)
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNat#(n__s(V1)) → activate#(V1)
U134#(tt, IL, M, N) → isNat#(activate(N))U41#(tt, V1, V2) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))
isNatList#(n__cons(V1, V2)) → activate#(V2)isNatIList#(V) → isNatIListKind#(activate(V))
isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → activate#(V2)
U112#(tt, L, N) → activate#(N)U42#(tt, V1, V2) → activate#(V1)
U133#(tt, IL, M, N) → activate#(IL)U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U112#(tt, L, N) → activate#(L)
U41#(tt, V1, V2) → activate#(V1)U42#(tt, V1, V2) → activate#(V2)
U103#(tt, V1, V2) → activate#(V1)U22#(tt, V1) → activate#(V1)
U92#(tt, V1, V2) → activate#(V2)U12#(tt, V1) → isNatList#(activate(V1))
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U136#(tt, IL, M, N) → activate#(N)isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))U133#(tt, IL, M, N) → activate#(M)
activate#(n__length(X)) → activate#(X)U103#(tt, V1, V2) → isNatIListKind#(activate(V2))
U22#(tt, V1) → isNat#(activate(V1))U111#(tt, L, N) → activate#(L)
U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(N)
U51#(tt, V2) → isNatIListKind#(activate(V2))U101#(tt, V1, V2) → activate#(V2)
U61#(tt, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U135#(tt, IL, M, N) → activate#(N)
U132#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__take(V1, V2)) → activate#(V2)
U104#(tt, V1, V2) → activate#(V1)activate#(n__take(X1, X2)) → activate#(X2)
U61#(tt, V2) → activate#(V2)isNatIList#(V) → activate#(V)
U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))
U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))U94#(tt, V1, V2) → isNat#(activate(V1))
U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2) → activate#(V1)
U104#(tt, V1, V2) → isNat#(activate(V1))U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U114#(tt, L) → s#(length(activate(L)))U43#(tt, V1, V2) → isNatIListKind#(activate(V2))
U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → activate#(V1)
length#(cons(N, L)) → activate#(L)

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U121#(tt, IL) → activate#(IL)U94#(tt, V1, V2) → activate#(V1)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
length#(nil) → 0#U44#(tt, V1, V2) → isNat#(activate(V1))
U105#(tt, V2) → isNatIList#(activate(V2))U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U113#(tt, L, N) → isNatKind#(activate(N))U113#(tt, L, N) → activate#(L)
isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))activate#(n__length(X)) → length#(activate(X))
take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)length#(cons(N, L)) → isNatList#(activate(L))
U134#(tt, IL, M, N) → activate#(M)isNatList#(n__take(V1, V2)) → activate#(V2)
U136#(tt, IL, M, N) → activate#(IL)U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))
U95#(tt, V2) → isNatList#(activate(V2))U134#(tt, IL, M, N) → activate#(N)
U132#(tt, IL, M, N) → activate#(M)U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(s(M), cons(N, IL)) → activate#(IL)
isNatKind#(n__s(V1)) → isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2)) → activate#(V1)
U114#(tt, L) → activate#(L)isNat#(n__s(V1)) → isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2)) → activate#(V2)activate#(n__s(X)) → activate#(X)
U92#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → isNatIListKind#(activate(V2))
isNatKind#(n__length(V1)) → activate#(V1)isNatKind#(n__s(V1)) → activate#(V1)
U32#(tt, V) → isNatList#(activate(V))U102#(tt, V1, V2) → isNatIListKind#(activate(V2))
U102#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → activate#(V1)
U105#(tt, V2) → activate#(V2)isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(N)isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U31#(tt, V) → activate#(V)
U132#(tt, IL, M, N) → activate#(IL)U114#(tt, L) → length#(activate(L))
U131#(tt, IL, M, N) → activate#(IL)U91#(tt, V1, V2) → activate#(V2)
U122#(tt) → nil#U102#(tt, V1, V2) → activate#(V2)
U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))U112#(tt, L, N) → isNat#(activate(N))
U93#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → activate#(V1)
U11#(tt, V1) → activate#(V1)U32#(tt, V) → activate#(V)
U41#(tt, V1, V2) → activate#(V2)U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U44#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U42#(tt, V1, V2) → isNatIListKind#(activate(V2))
U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U104#(tt, V1, V2) → activate#(V2)U12#(tt, V1) → activate#(V1)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N) → activate#(M)U45#(tt, V2) → isNatIList#(activate(V2))
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U134#(tt, IL, M, N) → isNat#(activate(N))
U41#(tt, V1, V2) → isNatKind#(activate(V1))isNat#(n__s(V1)) → activate#(V1)
U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))
isNatIList#(V) → isNatIListKind#(activate(V))isNatList#(n__cons(V1, V2)) → activate#(V2)
isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → activate#(V2)
U112#(tt, L, N) → activate#(N)U42#(tt, V1, V2) → activate#(V1)
U133#(tt, IL, M, N) → activate#(IL)U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))
U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N) → activate#(L)
U41#(tt, V1, V2) → activate#(V1)U42#(tt, V1, V2) → activate#(V2)
U103#(tt, V1, V2) → activate#(V1)U22#(tt, V1) → activate#(V1)
U12#(tt, V1) → isNatList#(activate(V1))U92#(tt, V1, V2) → activate#(V2)
U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))
U111#(tt, L, N) → activate#(N)U136#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(M)activate#(n__length(X)) → activate#(X)
U103#(tt, V1, V2) → isNatIListKind#(activate(V2))U22#(tt, V1) → isNat#(activate(V1))
U111#(tt, L, N) → activate#(L)U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U135#(tt, IL, M, N) → activate#(N)U132#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L) → s#(length(activate(L)))
U43#(tt, V1, V2) → isNatIListKind#(activate(V2))U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → activate#(V1)length#(cons(N, L)) → activate#(L)

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U94#(tt, V1, V2) → activate#(V1)U121#(tt, IL) → activate#(IL)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)length#(nil) → 0#
U111#(tt, L, N) → isNatIListKind#(activate(L))U44#(tt, V1, V2) → isNat#(activate(V1))
U105#(tt, V2) → isNatIList#(activate(V2))U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U113#(tt, L, N) → isNatKind#(activate(N))U113#(tt, L, N) → activate#(L)
isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))activate#(n__length(X)) → length#(activate(X))
take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)U134#(tt, IL, M, N) → activate#(M)
length#(cons(N, L)) → isNatList#(activate(L))U136#(tt, IL, M, N) → activate#(IL)
isNatList#(n__take(V1, V2)) → activate#(V2)U95#(tt, V2) → isNatList#(activate(V2))
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → activate#(N)
isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))U132#(tt, IL, M, N) → activate#(M)
U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))take#(s(M), cons(N, IL)) → activate#(IL)
isNatKind#(n__s(V1)) → isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2)) → activate#(V1)
U114#(tt, L) → activate#(L)isNat#(n__s(V1)) → isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2)) → activate#(V2)activate#(n__s(X)) → activate#(X)
U92#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → isNatIListKind#(activate(V2))
isNatKind#(n__length(V1)) → activate#(V1)isNatKind#(n__s(V1)) → activate#(V1)
U32#(tt, V) → isNatList#(activate(V))U102#(tt, V1, V2) → isNatIListKind#(activate(V2))
U93#(tt, V1, V2) → activate#(V1)U102#(tt, V1, V2) → activate#(V1)
U105#(tt, V2) → activate#(V2)U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U31#(tt, V) → activate#(V)
U132#(tt, IL, M, N) → activate#(IL)U131#(tt, IL, M, N) → activate#(IL)
U114#(tt, L) → length#(activate(L))U91#(tt, V1, V2) → activate#(V2)
U102#(tt, V1, V2) → activate#(V2)U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))
U112#(tt, L, N) → isNat#(activate(N))U93#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → activate#(V1)U11#(tt, V1) → activate#(V1)
U32#(tt, V) → activate#(V)U41#(tt, V1, V2) → activate#(V2)
U11#(tt, V1) → isNatIListKind#(activate(V1))U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))
isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(M)
U134#(tt, IL, M, N) → activate#(IL)U113#(tt, L, N) → activate#(N)
U43#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N) → activate#(IL)activate#(n__take(X1, X2)) → activate#(X1)
U91#(tt, V1, V2) → activate#(V1)U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → activate#(V2)isNatList#(n__cons(V1, V2)) → activate#(V1)
isNat#(n__length(V1)) → isNatIListKind#(activate(V1))take#(0, IL) → isNatIList#(IL)
U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U42#(tt, V1, V2) → isNatIListKind#(activate(V2))
U121#(tt, IL) → isNatIListKind#(activate(IL))U136#(tt, IL, M, N) → activate#(M)
U12#(tt, V1) → activate#(V1)U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U104#(tt, V1, V2) → activate#(V2)activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))
U21#(tt, V1) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → isNatKind#(activate(N))
U45#(tt, V2) → activate#(V2)U95#(tt, V2) → activate#(V2)
length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)U135#(tt, IL, M, N) → activate#(M)
U45#(tt, V2) → isNatIList#(activate(V2))U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2)) → activate#(X1)
U44#(tt, V1, V2) → activate#(V1)U91#(tt, V1, V2) → isNatKind#(activate(V1))
U101#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNat#(n__s(V1)) → activate#(V1)U134#(tt, IL, M, N) → isNat#(activate(N))
U41#(tt, V1, V2) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))isNatIList#(V) → isNatIListKind#(activate(V))
isNatList#(n__cons(V1, V2)) → activate#(V2)isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → activate#(V2)U112#(tt, L, N) → activate#(N)
U42#(tt, V1, V2) → activate#(V1)U133#(tt, IL, M, N) → activate#(IL)
U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))
U112#(tt, L, N) → activate#(L)U41#(tt, V1, V2) → activate#(V1)
U42#(tt, V1, V2) → activate#(V2)U103#(tt, V1, V2) → activate#(V1)
U22#(tt, V1) → activate#(V1)U12#(tt, V1) → isNatList#(activate(V1))
U92#(tt, V1, V2) → activate#(V2)isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))
U111#(tt, L, N) → activate#(N)U136#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(M)activate#(n__length(X)) → activate#(X)
U103#(tt, V1, V2) → isNatIListKind#(activate(V2))U22#(tt, V1) → isNat#(activate(V1))
U111#(tt, L, N) → activate#(L)U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U132#(tt, IL, M, N) → activate#(N)U135#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))take#(0, IL) → U121#(isNatIList(IL), IL)
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L) → s#(length(activate(L)))
U43#(tt, V1, V2) → isNatIListKind#(activate(V2))U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → activate#(V1)length#(cons(N, L)) → activate#(L)

take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))U132#(tt, IL, M, N) → isNat#(activate(M))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U94#(tt, V1, V2) → activate#(V1)U121#(tt, IL) → activate#(IL)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
U44#(tt, V1, V2) → isNat#(activate(V1))U105#(tt, V2) → isNatIList#(activate(V2))
U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U113#(tt, L, N) → isNatKind#(activate(N))
U113#(tt, L, N) → activate#(L)isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
activate#(n__length(X)) → length#(activate(X))take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)
length#(cons(N, L)) → isNatList#(activate(L))U134#(tt, IL, M, N) → activate#(M)
isNatList#(n__take(V1, V2)) → activate#(V2)U136#(tt, IL, M, N) → activate#(IL)
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U95#(tt, V2) → isNatList#(activate(V2))
U134#(tt, IL, M, N) → activate#(N)U132#(tt, IL, M, N) → activate#(M)
U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(s(M), cons(N, IL)) → activate#(IL)isNatKind#(n__s(V1)) → isNatKind#(activate(V1))
isNatIListKind#(n__cons(V1, V2)) → activate#(V1)U114#(tt, L) → activate#(L)
isNat#(n__s(V1)) → isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2)) → activate#(V2)
activate#(n__s(X)) → activate#(X)U92#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → isNatIListKind#(activate(V2))isNatKind#(n__length(V1)) → activate#(V1)
isNatKind#(n__s(V1)) → activate#(V1)U32#(tt, V) → isNatList#(activate(V))
U102#(tt, V1, V2) → isNatIListKind#(activate(V2))U102#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → activate#(V1)U105#(tt, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U31#(tt, V) → activate#(V)U132#(tt, IL, M, N) → activate#(IL)
U131#(tt, IL, M, N) → activate#(IL)U114#(tt, L) → length#(activate(L))
U91#(tt, V1, V2) → activate#(V2)U102#(tt, V1, V2) → activate#(V2)
U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))U112#(tt, L, N) → isNat#(activate(N))
U93#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → activate#(V1)
U11#(tt, V1) → activate#(V1)U32#(tt, V) → activate#(V)
U41#(tt, V1, V2) → activate#(V2)U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U42#(tt, V1, V2) → isNatIListKind#(activate(V2))
U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U104#(tt, V1, V2) → activate#(V2)U12#(tt, V1) → activate#(V1)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N) → activate#(M)U45#(tt, V2) → isNatIList#(activate(V2))
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNat#(n__s(V1)) → activate#(V1)
U134#(tt, IL, M, N) → isNat#(activate(N))U41#(tt, V1, V2) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))
isNatIList#(V) → isNatIListKind#(activate(V))isNatList#(n__cons(V1, V2)) → activate#(V2)
isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → activate#(V2)
U112#(tt, L, N) → activate#(N)U42#(tt, V1, V2) → activate#(V1)
U133#(tt, IL, M, N) → activate#(IL)U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))
U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N) → activate#(L)
U41#(tt, V1, V2) → activate#(V1)U42#(tt, V1, V2) → activate#(V2)
U103#(tt, V1, V2) → activate#(V1)U22#(tt, V1) → activate#(V1)
U12#(tt, V1) → isNatList#(activate(V1))U92#(tt, V1, V2) → activate#(V2)
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U136#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))
isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(M)
activate#(n__length(X)) → activate#(X)U103#(tt, V1, V2) → isNatIListKind#(activate(V2))
U22#(tt, V1) → isNat#(activate(V1))U111#(tt, L, N) → activate#(L)
U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(N)
U51#(tt, V2) → isNatIListKind#(activate(V2))U101#(tt, V1, V2) → activate#(V2)
U61#(tt, V2) → isNatIListKind#(activate(V2))U92#(tt, V1, V2) → isNatIListKind#(activate(V2))
U133#(tt, IL, M, N) → isNatKind#(activate(M))U132#(tt, IL, M, N) → activate#(N)
U135#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__take(V1, V2)) → activate#(V2)
U104#(tt, V1, V2) → activate#(V1)activate#(n__take(X1, X2)) → activate#(X2)
U61#(tt, V2) → activate#(V2)isNatIList#(V) → activate#(V)
U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(0, IL) → U121#(isNatIList(IL), IL)
U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))
U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))U94#(tt, V1, V2) → isNat#(activate(V1))
U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2) → activate#(V1)
U104#(tt, V1, V2) → isNat#(activate(V1))U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U114#(tt, L) → s#(length(activate(L)))U43#(tt, V1, V2) → isNatIListKind#(activate(V2))
U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → activate#(V1)
length#(cons(N, L)) → activate#(L)

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U121#(tt, IL) → activate#(IL)U94#(tt, V1, V2) → activate#(V1)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
U44#(tt, V1, V2) → isNat#(activate(V1))U105#(tt, V2) → isNatIList#(activate(V2))
U113#(tt, L, N) → activate#(L)U113#(tt, L, N) → isNatKind#(activate(N))
U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
activate#(n__length(X)) → length#(activate(X))take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)
length#(cons(N, L)) → isNatList#(activate(L))U134#(tt, IL, M, N) → activate#(M)
isNatList#(n__take(V1, V2)) → activate#(V2)U136#(tt, IL, M, N) → activate#(IL)
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U95#(tt, V2) → isNatList#(activate(V2))
U134#(tt, IL, M, N) → activate#(N)isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
U132#(tt, IL, M, N) → activate#(M)U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
take#(s(M), cons(N, IL)) → activate#(IL)isNatKind#(n__s(V1)) → isNatKind#(activate(V1))
isNatIListKind#(n__cons(V1, V2)) → activate#(V1)U114#(tt, L) → activate#(L)
isNat#(n__s(V1)) → isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2)) → activate#(V2)
activate#(n__s(X)) → activate#(X)U92#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → isNatIListKind#(activate(V2))isNatKind#(n__length(V1)) → activate#(V1)
isNatKind#(n__s(V1)) → activate#(V1)U32#(tt, V) → isNatList#(activate(V))
U102#(tt, V1, V2) → isNatIListKind#(activate(V2))U102#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → activate#(V1)U105#(tt, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U31#(tt, V) → activate#(V)U132#(tt, IL, M, N) → activate#(IL)
U114#(tt, L) → length#(activate(L))U131#(tt, IL, M, N) → activate#(IL)
U91#(tt, V1, V2) → activate#(V2)U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))
U102#(tt, V1, V2) → activate#(V2)U112#(tt, L, N) → isNat#(activate(N))
U93#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → activate#(V1)
U11#(tt, V1) → activate#(V1)U32#(tt, V) → activate#(V)
U41#(tt, V1, V2) → activate#(V2)U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U44#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U42#(tt, V1, V2) → isNatIListKind#(activate(V2))
U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U104#(tt, V1, V2) → activate#(V2)U12#(tt, V1) → activate#(V1)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N) → activate#(M)U45#(tt, V2) → isNatIList#(activate(V2))
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U134#(tt, IL, M, N) → isNat#(activate(N))
U41#(tt, V1, V2) → isNatKind#(activate(V1))U105#(tt, V2) → U106#(isNatIList(activate(V2)))
isNat#(n__s(V1)) → activate#(V1)U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))isNatIList#(V) → isNatIListKind#(activate(V))
isNatList#(n__cons(V1, V2)) → activate#(V2)isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → activate#(V2)U42#(tt, V1, V2) → activate#(V1)
U112#(tt, L, N) → activate#(N)U133#(tt, IL, M, N) → activate#(IL)
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → activate#(L)U41#(tt, V1, V2) → activate#(V1)
U42#(tt, V1, V2) → activate#(V2)U103#(tt, V1, V2) → activate#(V1)
U22#(tt, V1) → activate#(V1)U12#(tt, V1) → isNatList#(activate(V1))
U92#(tt, V1, V2) → activate#(V2)isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))
U111#(tt, L, N) → activate#(N)U136#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(M)activate#(n__length(X)) → activate#(X)
U103#(tt, V1, V2) → isNatIListKind#(activate(V2))U22#(tt, V1) → isNat#(activate(V1))
U111#(tt, L, N) → activate#(L)U45#(tt, V2) → U46#(isNatIList(activate(V2)))
U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(N)
U51#(tt, V2) → isNatIListKind#(activate(V2))U101#(tt, V1, V2) → activate#(V2)
U61#(tt, V2) → isNatIListKind#(activate(V2))U92#(tt, V1, V2) → isNatIListKind#(activate(V2))
U133#(tt, IL, M, N) → isNatKind#(activate(M))U132#(tt, IL, M, N) → activate#(N)
U135#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__take(V1, V2)) → activate#(V2)
U104#(tt, V1, V2) → activate#(V1)activate#(n__take(X1, X2)) → activate#(X2)
U61#(tt, V2) → activate#(V2)isNatIList#(V) → activate#(V)
U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(0, IL) → U121#(isNatIList(IL), IL)
U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))
U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))U94#(tt, V1, V2) → isNat#(activate(V1))
U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2) → activate#(V1)
U104#(tt, V1, V2) → isNat#(activate(V1))U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U43#(tt, V1, V2) → isNatIListKind#(activate(V2))U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → activate#(V1)length#(cons(N, L)) → activate#(L)

take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))U132#(tt, IL, M, N) → isNat#(activate(M))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U121#(tt, IL) → activate#(IL)U94#(tt, V1, V2) → activate#(V1)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
U44#(tt, V1, V2) → isNat#(activate(V1))U105#(tt, V2) → isNatIList#(activate(V2))
U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U113#(tt, L, N) → isNatKind#(activate(N))
U113#(tt, L, N) → activate#(L)isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
activate#(n__length(X)) → length#(activate(X))take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)
length#(cons(N, L)) → isNatList#(activate(L))U134#(tt, IL, M, N) → activate#(M)
isNatList#(n__take(V1, V2)) → activate#(V2)U136#(tt, IL, M, N) → activate#(IL)
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U95#(tt, V2) → isNatList#(activate(V2))
U134#(tt, IL, M, N) → activate#(N)U132#(tt, IL, M, N) → activate#(M)
U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(s(M), cons(N, IL)) → activate#(IL)isNatKind#(n__s(V1)) → isNatKind#(activate(V1))
isNatIListKind#(n__cons(V1, V2)) → activate#(V1)U114#(tt, L) → activate#(L)
isNat#(n__s(V1)) → isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2)) → activate#(V2)
activate#(n__s(X)) → activate#(X)U92#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → isNatIListKind#(activate(V2))isNatKind#(n__length(V1)) → activate#(V1)
isNatKind#(n__s(V1)) → activate#(V1)U32#(tt, V) → isNatList#(activate(V))
U102#(tt, V1, V2) → isNatIListKind#(activate(V2))U102#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → activate#(V1)U105#(tt, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U31#(tt, V) → activate#(V)U132#(tt, IL, M, N) → activate#(IL)
U114#(tt, L) → length#(activate(L))U131#(tt, IL, M, N) → activate#(IL)
U91#(tt, V1, V2) → activate#(V2)U122#(tt) → nil#
U102#(tt, V1, V2) → activate#(V2)U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))
U112#(tt, L, N) → isNat#(activate(N))U93#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → activate#(V1)U11#(tt, V1) → activate#(V1)
U32#(tt, V) → activate#(V)U41#(tt, V1, V2) → activate#(V2)
U11#(tt, V1) → isNatIListKind#(activate(V1))U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))
isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(M)
U134#(tt, IL, M, N) → activate#(IL)U113#(tt, L, N) → activate#(N)
U43#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N) → activate#(IL)activate#(n__take(X1, X2)) → activate#(X1)
U91#(tt, V1, V2) → activate#(V1)U44#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))isNatList#(n__cons(V1, V2)) → activate#(V1)
isNat#(n__length(V1)) → isNatIListKind#(activate(V1))take#(0, IL) → isNatIList#(IL)
U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U42#(tt, V1, V2) → isNatIListKind#(activate(V2))
U121#(tt, IL) → isNatIListKind#(activate(IL))U136#(tt, IL, M, N) → activate#(M)
U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U104#(tt, V1, V2) → activate#(V2)
U12#(tt, V1) → activate#(V1)activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))
U21#(tt, V1) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → isNatKind#(activate(N))
U45#(tt, V2) → activate#(V2)U95#(tt, V2) → activate#(V2)
length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)U45#(tt, V2) → isNatIList#(activate(V2))
U135#(tt, IL, M, N) → activate#(M)U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2)) → activate#(X1)
U44#(tt, V1, V2) → activate#(V1)U91#(tt, V1, V2) → isNatKind#(activate(V1))
U101#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U134#(tt, IL, M, N) → isNat#(activate(N))U41#(tt, V1, V2) → isNatKind#(activate(V1))
isNat#(n__s(V1)) → activate#(V1)U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))isNatIList#(V) → isNatIListKind#(activate(V))
isNatList#(n__cons(V1, V2)) → activate#(V2)isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → activate#(V2)U112#(tt, L, N) → activate#(N)
U42#(tt, V1, V2) → activate#(V1)U133#(tt, IL, M, N) → activate#(IL)
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → activate#(L)U41#(tt, V1, V2) → activate#(V1)
U42#(tt, V1, V2) → activate#(V2)U103#(tt, V1, V2) → activate#(V1)
U22#(tt, V1) → activate#(V1)U12#(tt, V1) → isNatList#(activate(V1))
U92#(tt, V1, V2) → activate#(V2)U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U136#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))
isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(M)
activate#(n__length(X)) → activate#(X)U103#(tt, V1, V2) → isNatIListKind#(activate(V2))
U22#(tt, V1) → isNat#(activate(V1))U111#(tt, L, N) → activate#(L)
U45#(tt, V2) → U46#(isNatIList(activate(V2)))U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U132#(tt, IL, M, N) → activate#(N)U135#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U43#(tt, V1, V2) → isNatIListKind#(activate(V2))
U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → activate#(V1)
length#(cons(N, L)) → activate#(L)

take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))U132#(tt, IL, M, N) → isNat#(activate(M))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U121#(tt, IL) → activate#(IL)U94#(tt, V1, V2) → activate#(V1)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
U44#(tt, V1, V2) → isNat#(activate(V1))U105#(tt, V2) → isNatIList#(activate(V2))
U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U113#(tt, L, N) → isNatKind#(activate(N))
U113#(tt, L, N) → activate#(L)isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
activate#(n__length(X)) → length#(activate(X))take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)
length#(cons(N, L)) → isNatList#(activate(L))U134#(tt, IL, M, N) → activate#(M)
isNatList#(n__take(V1, V2)) → activate#(V2)U136#(tt, IL, M, N) → activate#(IL)
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U95#(tt, V2) → isNatList#(activate(V2))
U134#(tt, IL, M, N) → activate#(N)U132#(tt, IL, M, N) → activate#(M)
U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(s(M), cons(N, IL)) → activate#(IL)isNatKind#(n__s(V1)) → isNatKind#(activate(V1))
isNatIListKind#(n__cons(V1, V2)) → activate#(V1)U114#(tt, L) → activate#(L)
isNat#(n__s(V1)) → isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2)) → activate#(V2)
activate#(n__s(X)) → activate#(X)U92#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → isNatIListKind#(activate(V2))isNatKind#(n__length(V1)) → activate#(V1)
isNatKind#(n__s(V1)) → activate#(V1)U32#(tt, V) → isNatList#(activate(V))
U102#(tt, V1, V2) → isNatIListKind#(activate(V2))U102#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → activate#(V1)U105#(tt, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U31#(tt, V) → activate#(V)U132#(tt, IL, M, N) → activate#(IL)
U114#(tt, L) → length#(activate(L))U131#(tt, IL, M, N) → activate#(IL)
U91#(tt, V1, V2) → activate#(V2)U122#(tt) → nil#
U102#(tt, V1, V2) → activate#(V2)U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))
U112#(tt, L, N) → isNat#(activate(N))U93#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → activate#(V1)U11#(tt, V1) → activate#(V1)
U32#(tt, V) → activate#(V)U41#(tt, V1, V2) → activate#(V2)
U11#(tt, V1) → isNatIListKind#(activate(V1))U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))
isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(M)
U134#(tt, IL, M, N) → activate#(IL)U113#(tt, L, N) → activate#(N)
U43#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N) → activate#(IL)activate#(n__take(X1, X2)) → activate#(X1)
U91#(tt, V1, V2) → activate#(V1)U44#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))isNatList#(n__cons(V1, V2)) → activate#(V1)
isNat#(n__length(V1)) → isNatIListKind#(activate(V1))take#(0, IL) → isNatIList#(IL)
U42#(tt, V1, V2) → isNatIListKind#(activate(V2))U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U121#(tt, IL) → isNatIListKind#(activate(IL))U136#(tt, IL, M, N) → activate#(M)
U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U104#(tt, V1, V2) → activate#(V2)
U12#(tt, V1) → activate#(V1)activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))
U21#(tt, V1) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → isNatKind#(activate(N))
U45#(tt, V2) → activate#(V2)U95#(tt, V2) → activate#(V2)
length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)U135#(tt, IL, M, N) → activate#(M)
U45#(tt, V2) → isNatIList#(activate(V2))U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2)) → activate#(X1)
U44#(tt, V1, V2) → activate#(V1)U91#(tt, V1, V2) → isNatKind#(activate(V1))
U101#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U134#(tt, IL, M, N) → isNat#(activate(N))U41#(tt, V1, V2) → isNatKind#(activate(V1))
isNat#(n__s(V1)) → activate#(V1)U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))isNatIList#(V) → isNatIListKind#(activate(V))
isNatList#(n__cons(V1, V2)) → activate#(V2)isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → activate#(V2)U112#(tt, L, N) → activate#(N)
U42#(tt, V1, V2) → activate#(V1)U133#(tt, IL, M, N) → activate#(IL)
U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U112#(tt, L, N) → activate#(L)U41#(tt, V1, V2) → activate#(V1)
U42#(tt, V1, V2) → activate#(V2)U103#(tt, V1, V2) → activate#(V1)
U22#(tt, V1) → activate#(V1)U12#(tt, V1) → isNatList#(activate(V1))
U92#(tt, V1, V2) → activate#(V2)U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U136#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))
isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(M)
activate#(n__length(X)) → activate#(X)U103#(tt, V1, V2) → isNatIListKind#(activate(V2))
U22#(tt, V1) → isNat#(activate(V1))U111#(tt, L, N) → activate#(L)
U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(N)
U51#(tt, V2) → isNatIListKind#(activate(V2))U101#(tt, V1, V2) → activate#(V2)
U61#(tt, V2) → isNatIListKind#(activate(V2))U92#(tt, V1, V2) → isNatIListKind#(activate(V2))
U133#(tt, IL, M, N) → isNatKind#(activate(M))U135#(tt, IL, M, N) → activate#(N)
U132#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__take(V1, V2)) → activate#(V2)
U104#(tt, V1, V2) → activate#(V1)activate#(n__take(X1, X2)) → activate#(X2)
U61#(tt, V2) → activate#(V2)isNatIList#(V) → activate#(V)
U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(0, IL) → U121#(isNatIList(IL), IL)
U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))
U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))U94#(tt, V1, V2) → isNat#(activate(V1))
U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))U43#(tt, V1, V2) → activate#(V1)
U104#(tt, V1, V2) → isNat#(activate(V1))U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))
U114#(tt, L) → s#(length(activate(L)))U43#(tt, V1, V2) → isNatIListKind#(activate(V2))
U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → activate#(V1)
length#(cons(N, L)) → activate#(L)

U122#(tt) → nil#U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U94#(tt, V1, V2) → activate#(V1)U121#(tt, IL) → activate#(IL)
U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
length#(nil) → 0#U44#(tt, V1, V2) → isNat#(activate(V1))
U105#(tt, V2) → isNatIList#(activate(V2))U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U113#(tt, L, N) → activate#(L)U113#(tt, L, N) → isNatKind#(activate(N))
isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))activate#(n__length(X)) → length#(activate(X))
take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)U134#(tt, IL, M, N) → activate#(M)
length#(cons(N, L)) → isNatList#(activate(L))U136#(tt, IL, M, N) → activate#(IL)
isNatList#(n__take(V1, V2)) → activate#(V2)U95#(tt, V2) → isNatList#(activate(V2))
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → activate#(N)
isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
U132#(tt, IL, M, N) → activate#(M)take#(s(M), cons(N, IL)) → activate#(IL)
isNatKind#(n__s(V1)) → isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2)) → activate#(V1)
U114#(tt, L) → activate#(L)isNat#(n__s(V1)) → isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2)) → activate#(V2)activate#(n__s(X)) → activate#(X)
U92#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → isNatIListKind#(activate(V2))
isNatKind#(n__length(V1)) → activate#(V1)isNatKind#(n__s(V1)) → activate#(V1)
U32#(tt, V) → isNatList#(activate(V))U102#(tt, V1, V2) → isNatIListKind#(activate(V2))
U93#(tt, V1, V2) → activate#(V1)U102#(tt, V1, V2) → activate#(V1)
U105#(tt, V2) → activate#(V2)U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U31#(tt, V) → activate#(V)
U132#(tt, IL, M, N) → activate#(IL)U114#(tt, L) → length#(activate(L))
U131#(tt, IL, M, N) → activate#(IL)U91#(tt, V1, V2) → activate#(V2)
U102#(tt, V1, V2) → activate#(V2)U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))
U112#(tt, L, N) → isNat#(activate(N))U93#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → activate#(V1)U11#(tt, V1) → activate#(V1)
U32#(tt, V) → activate#(V)U41#(tt, V1, V2) → activate#(V2)
U11#(tt, V1) → isNatIListKind#(activate(V1))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U42#(tt, V1, V2) → isNatIListKind#(activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U12#(tt, V1) → activate#(V1)U104#(tt, V1, V2) → activate#(V2)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N) → activate#(M)U45#(tt, V2) → isNatIList#(activate(V2))
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNat#(n__s(V1)) → activate#(V1)
U134#(tt, IL, M, N) → isNat#(activate(N))U105#(tt, V2) → U106#(isNatIList(activate(V2)))
U41#(tt, V1, V2) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))
isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))isNatIList#(V) → isNatIListKind#(activate(V))
isNatList#(n__cons(V1, V2)) → activate#(V2)isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → activate#(V2)U112#(tt, L, N) → activate#(N)
U42#(tt, V1, V2) → activate#(V1)U133#(tt, IL, M, N) → activate#(IL)
U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))
U112#(tt, L, N) → activate#(L)U41#(tt, V1, V2) → activate#(V1)
U42#(tt, V1, V2) → activate#(V2)U103#(tt, V1, V2) → activate#(V1)
U22#(tt, V1) → activate#(V1)U12#(tt, V1) → isNatList#(activate(V1))
U92#(tt, V1, V2) → activate#(V2)isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))
U111#(tt, L, N) → activate#(N)U136#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(M)activate#(n__length(X)) → activate#(X)
U103#(tt, V1, V2) → isNatIListKind#(activate(V2))U22#(tt, V1) → isNat#(activate(V1))
U111#(tt, L, N) → activate#(L)U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U135#(tt, IL, M, N) → activate#(N)U132#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))take#(0, IL) → U121#(isNatIList(IL), IL)
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U114#(tt, L) → s#(length(activate(L)))
U43#(tt, V1, V2) → isNatIListKind#(activate(V2))U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → activate#(V1)length#(cons(N, L)) → activate#(L)

take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))U132#(tt, IL, M, N) → isNat#(activate(M))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U121#(tt, IL) → activate#(IL)U94#(tt, V1, V2) → activate#(V1)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
U44#(tt, V1, V2) → isNat#(activate(V1))U105#(tt, V2) → isNatIList#(activate(V2))
U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U113#(tt, L, N) → activate#(L)
U113#(tt, L, N) → isNatKind#(activate(N))isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
activate#(n__length(X)) → length#(activate(X))take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)
length#(cons(N, L)) → isNatList#(activate(L))U134#(tt, IL, M, N) → activate#(M)
isNatList#(n__take(V1, V2)) → activate#(V2)U136#(tt, IL, M, N) → activate#(IL)
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U95#(tt, V2) → isNatList#(activate(V2))
U134#(tt, IL, M, N) → activate#(N)U132#(tt, IL, M, N) → activate#(M)
U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(s(M), cons(N, IL)) → activate#(IL)isNatKind#(n__s(V1)) → isNatKind#(activate(V1))
isNatIListKind#(n__cons(V1, V2)) → activate#(V1)U114#(tt, L) → activate#(L)
isNat#(n__s(V1)) → isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2)) → activate#(V2)
activate#(n__s(X)) → activate#(X)U92#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → isNatIListKind#(activate(V2))isNatKind#(n__length(V1)) → activate#(V1)
isNatKind#(n__s(V1)) → activate#(V1)U32#(tt, V) → isNatList#(activate(V))
U102#(tt, V1, V2) → isNatIListKind#(activate(V2))U102#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → activate#(V1)U105#(tt, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U31#(tt, V) → activate#(V)U132#(tt, IL, M, N) → activate#(IL)
U114#(tt, L) → length#(activate(L))U131#(tt, IL, M, N) → activate#(IL)
U91#(tt, V1, V2) → activate#(V2)U122#(tt) → nil#
U102#(tt, V1, V2) → activate#(V2)U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))
U112#(tt, L, N) → isNat#(activate(N))U93#(tt, V1, V2) → activate#(V2)
U21#(tt, V1) → activate#(V1)U11#(tt, V1) → activate#(V1)
U32#(tt, V) → activate#(V)U41#(tt, V1, V2) → activate#(V2)
U11#(tt, V1) → isNatIListKind#(activate(V1))U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))
isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(M)
U134#(tt, IL, M, N) → activate#(IL)U113#(tt, L, N) → activate#(N)
U43#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))
U135#(tt, IL, M, N) → activate#(IL)activate#(n__take(X1, X2)) → activate#(X1)
U91#(tt, V1, V2) → activate#(V1)U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → activate#(V2)isNatList#(n__cons(V1, V2)) → activate#(V1)
isNat#(n__length(V1)) → isNatIListKind#(activate(V1))take#(0, IL) → isNatIList#(IL)
U42#(tt, V1, V2) → isNatIListKind#(activate(V2))U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U121#(tt, IL) → isNatIListKind#(activate(IL))U136#(tt, IL, M, N) → activate#(M)
U104#(tt, V1, V2) → activate#(V2)U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U12#(tt, V1) → activate#(V1)activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))
U21#(tt, V1) → isNatKind#(activate(V1))U135#(tt, IL, M, N) → isNatKind#(activate(N))
U45#(tt, V2) → activate#(V2)U95#(tt, V2) → activate#(V2)
length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)U135#(tt, IL, M, N) → activate#(M)
U45#(tt, V2) → isNatIList#(activate(V2))U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))
U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))activate#(n__cons(X1, X2)) → activate#(X1)
U44#(tt, V1, V2) → activate#(V1)U91#(tt, V1, V2) → isNatKind#(activate(V1))
U101#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U41#(tt, V1, V2) → isNatKind#(activate(V1))U105#(tt, V2) → U106#(isNatIList(activate(V2)))
U134#(tt, IL, M, N) → isNat#(activate(N))isNat#(n__s(V1)) → activate#(V1)
U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))
isNatList#(n__cons(V1, V2)) → activate#(V2)isNatIList#(V) → isNatIListKind#(activate(V))
isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → activate#(V2)
U42#(tt, V1, V2) → activate#(V1)U112#(tt, L, N) → activate#(N)
U133#(tt, IL, M, N) → activate#(IL)U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))
U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N) → activate#(L)
U41#(tt, V1, V2) → activate#(V1)U42#(tt, V1, V2) → activate#(V2)
U103#(tt, V1, V2) → activate#(V1)U22#(tt, V1) → activate#(V1)
U92#(tt, V1, V2) → activate#(V2)U12#(tt, V1) → isNatList#(activate(V1))
U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))
U111#(tt, L, N) → activate#(N)U136#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(M)activate#(n__length(X)) → activate#(X)
U103#(tt, V1, V2) → isNatIListKind#(activate(V2))U22#(tt, V1) → isNat#(activate(V1))
U111#(tt, L, N) → activate#(L)U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U132#(tt, IL, M, N) → activate#(N)U135#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U43#(tt, V1, V2) → isNatIListKind#(activate(V2))
U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → activate#(V1)
length#(cons(N, L)) → activate#(L)

U132#(tt, IL, M, N) → isNat#(activate(M))take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U121#(tt, IL) → activate#(IL)U94#(tt, V1, V2) → activate#(V1)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
U44#(tt, V1, V2) → isNat#(activate(V1))U105#(tt, V2) → isNatIList#(activate(V2))
U113#(tt, L, N) → activate#(L)U113#(tt, L, N) → isNatKind#(activate(N))
U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))
activate#(n__length(X)) → length#(activate(X))take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)
length#(cons(N, L)) → isNatList#(activate(L))U134#(tt, IL, M, N) → activate#(M)
isNatList#(n__take(V1, V2)) → activate#(V2)U136#(tt, IL, M, N) → activate#(IL)
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U95#(tt, V2) → isNatList#(activate(V2))
U134#(tt, IL, M, N) → activate#(N)isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))
U132#(tt, IL, M, N) → activate#(M)U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
take#(s(M), cons(N, IL)) → activate#(IL)isNatKind#(n__s(V1)) → isNatKind#(activate(V1))
isNatIListKind#(n__cons(V1, V2)) → activate#(V1)U114#(tt, L) → activate#(L)
isNat#(n__s(V1)) → isNatKind#(activate(V1))isNatIList#(n__cons(V1, V2)) → activate#(V2)
activate#(n__s(X)) → activate#(X)U92#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → isNatIListKind#(activate(V2))isNatKind#(n__length(V1)) → activate#(V1)
isNatKind#(n__s(V1)) → activate#(V1)U32#(tt, V) → isNatList#(activate(V))
U102#(tt, V1, V2) → isNatIListKind#(activate(V2))U102#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → activate#(V1)U105#(tt, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U31#(tt, V) → activate#(V)U132#(tt, IL, M, N) → activate#(IL)
U114#(tt, L) → length#(activate(L))U131#(tt, IL, M, N) → activate#(IL)
U91#(tt, V1, V2) → activate#(V2)U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))
U102#(tt, V1, V2) → activate#(V2)U112#(tt, L, N) → isNat#(activate(N))
U93#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → activate#(V1)
U11#(tt, V1) → activate#(V1)U32#(tt, V) → activate#(V)
U41#(tt, V1, V2) → activate#(V2)U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U44#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U42#(tt, V1, V2) → isNatIListKind#(activate(V2))
U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))
U104#(tt, V1, V2) → activate#(V2)U12#(tt, V1) → activate#(V1)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N) → activate#(M)U45#(tt, V2) → isNatIList#(activate(V2))
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U134#(tt, IL, M, N) → isNat#(activate(N))
U41#(tt, V1, V2) → isNatKind#(activate(V1))isNat#(n__s(V1)) → activate#(V1)
U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))
isNatIList#(V) → isNatIListKind#(activate(V))isNatList#(n__cons(V1, V2)) → activate#(V2)
isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → activate#(V2)
U42#(tt, V1, V2) → activate#(V1)U112#(tt, L, N) → activate#(N)
U133#(tt, IL, M, N) → activate#(IL)U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))
U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N) → activate#(L)
U41#(tt, V1, V2) → activate#(V1)U42#(tt, V1, V2) → activate#(V2)
U103#(tt, V1, V2) → activate#(V1)U22#(tt, V1) → activate#(V1)
U12#(tt, V1) → isNatList#(activate(V1))U92#(tt, V1, V2) → activate#(V2)
isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))U111#(tt, L, N) → activate#(N)
U136#(tt, IL, M, N) → activate#(N)isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))
isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))U133#(tt, IL, M, N) → activate#(M)
activate#(n__length(X)) → activate#(X)U103#(tt, V1, V2) → isNatIListKind#(activate(V2))
U22#(tt, V1) → isNat#(activate(V1))U111#(tt, L, N) → activate#(L)
U45#(tt, V2) → U46#(isNatIList(activate(V2)))U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U132#(tt, IL, M, N) → activate#(N)U135#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
take#(0, IL) → U121#(isNatIList(IL), IL)U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U43#(tt, V1, V2) → isNatIListKind#(activate(V2))
U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → activate#(V1)
length#(cons(N, L)) → activate#(L)

take#(s(M), cons(N, IL)) → isNatIList#(activate(IL))U132#(tt, IL, M, N) → isNat#(activate(M))
U101#(tt, V1, V2) → isNatKind#(activate(V1))isNatIList#(V) → U31#(isNatIListKind(activate(V)), activate(V))
U94#(tt, V1, V2) → activate#(V2)isNatList#(n__take(V1, V2)) → activate#(V1)
U104#(tt, V1, V2) → U105#(isNat(activate(V1)), activate(V2))isNatIListKind#(n__take(V1, V2)) → activate#(V1)
U94#(tt, V1, V2) → activate#(V1)U121#(tt, IL) → activate#(IL)
U131#(tt, IL, M, N) → U132#(isNatIListKind(activate(IL)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → U135#(isNat(activate(N)), activate(IL), activate(M), activate(N))
isNatIListKind#(n__take(V1, V2)) → U61#(isNatKind(activate(V1)), activate(V2))U51#(tt, V2) → activate#(V2)
U31#(tt, V) → isNatIListKind#(activate(V))isNat#(n__length(V1)) → activate#(V1)
isNatIListKind#(n__cons(V1, V2)) → activate#(V2)U111#(tt, L, N) → isNatIListKind#(activate(L))
length#(nil) → 0#U44#(tt, V1, V2) → isNat#(activate(V1))
U105#(tt, V2) → isNatIList#(activate(V2))U113#(tt, L, N) → isNatKind#(activate(N))
U113#(tt, L, N) → activate#(L)U92#(tt, V1, V2) → U93#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
isNatIList#(n__cons(V1, V2)) → isNatKind#(activate(V1))activate#(n__length(X)) → length#(activate(X))
take#(s(M), cons(N, IL)) → U131#(isNatIList(activate(IL)), activate(IL), M, N)length#(cons(N, L)) → isNatList#(activate(L))
U134#(tt, IL, M, N) → activate#(M)U136#(tt, IL, M, N) → activate#(IL)
isNatList#(n__take(V1, V2)) → activate#(V2)U95#(tt, V2) → isNatList#(activate(V2))
U133#(tt, IL, M, N) → U134#(isNatKind(activate(M)), activate(IL), activate(M), activate(N))U134#(tt, IL, M, N) → activate#(N)
U132#(tt, IL, M, N) → activate#(M)U132#(tt, IL, M, N) → U133#(isNat(activate(M)), activate(IL), activate(M), activate(N))
isNatIList#(n__cons(V1, V2)) → U41#(isNatKind(activate(V1)), activate(V1), activate(V2))take#(s(M), cons(N, IL)) → activate#(IL)
isNatKind#(n__s(V1)) → isNatKind#(activate(V1))isNatIListKind#(n__cons(V1, V2)) → activate#(V1)
U114#(tt, L) → activate#(L)isNat#(n__s(V1)) → isNatKind#(activate(V1))
isNatIList#(n__cons(V1, V2)) → activate#(V2)activate#(n__s(X)) → activate#(X)
U92#(tt, V1, V2) → activate#(V1)U93#(tt, V1, V2) → isNatIListKind#(activate(V2))
isNatKind#(n__length(V1)) → activate#(V1)isNatKind#(n__s(V1)) → activate#(V1)
U32#(tt, V) → isNatList#(activate(V))U93#(tt, V1, V2) → activate#(V1)
U102#(tt, V1, V2) → activate#(V1)U102#(tt, V1, V2) → isNatIListKind#(activate(V2))
U105#(tt, V2) → activate#(V2)U131#(tt, IL, M, N) → activate#(N)
isNatList#(n__cons(V1, V2)) → isNatKind#(activate(V1))isNatList#(n__take(V1, V2)) → isNatKind#(activate(V1))
U103#(tt, V1, V2) → U104#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U31#(tt, V) → activate#(V)
U132#(tt, IL, M, N) → activate#(IL)U131#(tt, IL, M, N) → activate#(IL)
U114#(tt, L) → length#(activate(L))U91#(tt, V1, V2) → activate#(V2)
U122#(tt) → nil#U102#(tt, V1, V2) → activate#(V2)
U31#(tt, V) → U32#(isNatIListKind(activate(V)), activate(V))U112#(tt, L, N) → isNat#(activate(N))
U93#(tt, V1, V2) → activate#(V2)U21#(tt, V1) → activate#(V1)
U11#(tt, V1) → activate#(V1)U32#(tt, V) → activate#(V)
U41#(tt, V1, V2) → activate#(V2)U11#(tt, V1) → isNatIListKind#(activate(V1))
U136#(tt, IL, M, N) → cons#(activate(N), n__take(activate(M), activate(IL)))isNatIListKind#(n__take(V1, V2)) → isNatKind#(activate(V1))
U131#(tt, IL, M, N) → activate#(M)U134#(tt, IL, M, N) → activate#(IL)
U113#(tt, L, N) → activate#(N)U43#(tt, V1, V2) → activate#(V2)
isNatList#(n__take(V1, V2)) → U101#(isNatKind(activate(V1)), activate(V1), activate(V2))U135#(tt, IL, M, N) → activate#(IL)
activate#(n__take(X1, X2)) → activate#(X1)U91#(tt, V1, V2) → activate#(V1)
U21#(tt, V1) → U22#(isNatKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → activate#(V2)
isNatList#(n__cons(V1, V2)) → activate#(V1)isNat#(n__length(V1)) → isNatIListKind#(activate(V1))
take#(0, IL) → isNatIList#(IL)U42#(tt, V1, V2) → isNatIListKind#(activate(V2))
U43#(tt, V1, V2) → U44#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U121#(tt, IL) → isNatIListKind#(activate(IL))
U136#(tt, IL, M, N) → activate#(M)U12#(tt, V1) → activate#(V1)
U101#(tt, V1, V2) → U102#(isNatKind(activate(V1)), activate(V1), activate(V2))U104#(tt, V1, V2) → activate#(V2)
activate#(n__take(X1, X2)) → take#(activate(X1), activate(X2))U21#(tt, V1) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → isNatKind#(activate(N))U45#(tt, V2) → activate#(V2)
U95#(tt, V2) → activate#(V2)length#(cons(N, L)) → U111#(isNatList(activate(L)), activate(L), N)
U135#(tt, IL, M, N) → activate#(M)U45#(tt, V2) → isNatIList#(activate(V2))
U11#(tt, V1) → U12#(isNatIListKind(activate(V1)), activate(V1))U44#(tt, V1, V2) → U45#(isNat(activate(V1)), activate(V2))
activate#(n__cons(X1, X2)) → activate#(X1)U44#(tt, V1, V2) → activate#(V1)
U91#(tt, V1, V2) → isNatKind#(activate(V1))U101#(tt, V1, V2) → activate#(V1)
U93#(tt, V1, V2) → U94#(isNatIListKind(activate(V2)), activate(V1), activate(V2))isNat#(n__s(V1)) → activate#(V1)
U134#(tt, IL, M, N) → isNat#(activate(N))U41#(tt, V1, V2) → isNatKind#(activate(V1))
U135#(tt, IL, M, N) → U136#(isNatKind(activate(N)), activate(IL), activate(M), activate(N))isNatKind#(n__length(V1)) → isNatIListKind#(activate(V1))
isNatIList#(V) → isNatIListKind#(activate(V))isNatList#(n__cons(V1, V2)) → activate#(V2)
isNatIListKind#(n__cons(V1, V2)) → isNatKind#(activate(V1))U103#(tt, V1, V2) → activate#(V2)
U112#(tt, L, N) → activate#(N)U42#(tt, V1, V2) → activate#(V1)
U133#(tt, IL, M, N) → activate#(IL)U112#(tt, L, N) → U113#(isNat(activate(N)), activate(L), activate(N))
U42#(tt, V1, V2) → U43#(isNatIListKind(activate(V2)), activate(V1), activate(V2))U112#(tt, L, N) → activate#(L)
U41#(tt, V1, V2) → activate#(V1)U42#(tt, V1, V2) → activate#(V2)
U103#(tt, V1, V2) → activate#(V1)U22#(tt, V1) → activate#(V1)
U12#(tt, V1) → isNatList#(activate(V1))U92#(tt, V1, V2) → activate#(V2)
U121#(tt, IL) → U122#(isNatIListKind(activate(IL)))isNat#(n__s(V1)) → U21#(isNatKind(activate(V1)), activate(V1))
U111#(tt, L, N) → activate#(N)U136#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__cons(V1, V2)) → U51#(isNatKind(activate(V1)), activate(V2))isNatList#(n__cons(V1, V2)) → U91#(isNatKind(activate(V1)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(M)activate#(n__length(X)) → activate#(X)
U103#(tt, V1, V2) → isNatIListKind#(activate(V2))U22#(tt, V1) → isNat#(activate(V1))
U111#(tt, L, N) → activate#(L)U102#(tt, V1, V2) → U103#(isNatIListKind(activate(V2)), activate(V1), activate(V2))
U133#(tt, IL, M, N) → activate#(N)U51#(tt, V2) → isNatIListKind#(activate(V2))
U101#(tt, V1, V2) → activate#(V2)U61#(tt, V2) → isNatIListKind#(activate(V2))
U92#(tt, V1, V2) → isNatIListKind#(activate(V2))U133#(tt, IL, M, N) → isNatKind#(activate(M))
U135#(tt, IL, M, N) → activate#(N)U132#(tt, IL, M, N) → activate#(N)
isNatIListKind#(n__take(V1, V2)) → activate#(V2)U104#(tt, V1, V2) → activate#(V1)
activate#(n__take(X1, X2)) → activate#(X2)U61#(tt, V2) → activate#(V2)
isNatIList#(V) → activate#(V)U41#(tt, V1, V2) → U42#(isNatKind(activate(V1)), activate(V1), activate(V2))
U94#(tt, V1, V2) → U95#(isNat(activate(V1)), activate(V2))take#(0, IL) → U121#(isNatIList(IL), IL)
isNat#(n__length(V1)) → U11#(isNatIListKind(activate(V1)), activate(V1))U131#(tt, IL, M, N) → isNatIListKind#(activate(IL))
U94#(tt, V1, V2) → isNat#(activate(V1))U113#(tt, L, N) → U114#(isNatKind(activate(N)), activate(L))
U43#(tt, V1, V2) → activate#(V1)U104#(tt, V1, V2) → isNat#(activate(V1))
U111#(tt, L, N) → U112#(isNatIListKind(activate(L)), activate(L), activate(N))U43#(tt, V1, V2) → isNatIListKind#(activate(V2))
U91#(tt, V1, V2) → U92#(isNatKind(activate(V1)), activate(V1), activate(V2))isNatIList#(n__cons(V1, V2)) → activate#(V1)
length#(cons(N, L)) → activate#(L)