TIMEOUT

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (557ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4 (592ms).
 |    | – Problem 4 was processed with processor DependencyGraph (36ms).
 |    |    | – Problem 5 was processed with processor PolynomialLinearRange4 (26ms).
 |    |    | – Problem 6 was processed with processor PolynomialLinearRange4 (258ms).
 |    |    |    | – Problem 7 was processed with processor PolynomialLinearRange4 (141ms).
 |    |    |    |    | – Problem 8 was processed with processor BackwardsNarrowing (3ms).
 |    |    |    |    |    | – Problem 10 was processed with processor ForwardNarrowing (1ms).
 |    |    |    |    |    |    | – Problem 13 was processed with processor ForwardNarrowing (2ms).
 |    |    |    |    |    |    |    | – Problem 15 was processed with processor ForwardNarrowing (24ms).
 |    |    |    |    |    |    |    |    | – Problem 20 was processed with processor ForwardNarrowing (1ms).
 |    |    |    |    |    |    |    |    |    | – Problem 22 was processed with processor ForwardNarrowing (0ms).
 |    |    |    |    |    |    |    |    |    |    | – Problem 24 was processed with processor ForwardNarrowing (1ms).
 |    |    |    |    |    |    |    |    |    |    |    | – Problem 27 was processed with processor ForwardNarrowing (1ms).
 |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 31 was processed with processor ForwardNarrowing (1ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 33 was processed with processor ForwardNarrowing (1ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 35 was processed with processor ForwardNarrowing (2ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 38 was processed with processor ForwardNarrowing (16ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 43 was processed with processor ForwardNarrowing (36ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 44 was processed with processor ForwardNarrowing (25ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 46 was processed with processor ForwardNarrowing (57ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 48 was processed with processor ForwardNarrowing (113ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 50 was processed with processor ForwardNarrowing (81ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 52 was processed with processor ForwardNarrowing (45ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 53 was processed with processor ForwardNarrowing (102ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 55 was processed with processor ForwardNarrowing (162ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 57 was processed with processor ForwardNarrowing (87ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 58 remains open; application of the following processors failed [ForwardNarrowing (78ms), ForwardNarrowing (239ms), ForwardNarrowing (166ms), ForwardNarrowing (timeout)].
 |    |    |    |    |    | – Problem 11 was processed with processor BackwardsNarrowing (1ms).
 |    |    |    |    |    |    | – Problem 14 was processed with processor BackwardsNarrowing (1ms).
 |    |    |    |    |    |    |    | – Problem 17 was processed with processor BackwardsNarrowing (4ms).
 |    |    |    |    |    |    |    |    | – Problem 18 was processed with processor BackwardsNarrowing (1ms).
 |    |    |    |    |    |    |    |    |    | – Problem 23 was processed with processor BackwardsNarrowing (1ms).
 |    |    |    |    |    |    |    |    |    |    | – Problem 26 was processed with processor BackwardsNarrowing (5ms).
 |    |    |    |    |    |    |    |    |    |    |    | – Problem 29 was processed with processor BackwardsNarrowing (6ms).
 |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 30 was processed with processor BackwardsNarrowing (1ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 36 was processed with processor BackwardsNarrowing (11ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 39 was processed with processor BackwardsNarrowing (2ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 41 was processed with processor BackwardsNarrowing (22ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 49 was processed with processor BackwardsNarrowing (25ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 51 was processed with processor BackwardsNarrowing (26ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 54 was processed with processor BackwardsNarrowing (148ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 56 remains open; application of the following processors failed [BackwardsNarrowing (24ms), BackwardsNarrowing (44ms), BackwardsNarrowing (36ms), BackwardsNarrowing (25ms), BackwardsNarrowing (25ms), BackwardsNarrowing (38ms), BackwardsNarrowing (65ms), BackwardsNarrowing (22ms), BackwardsNarrowing (27ms), BackwardsNarrowing (22ms), BackwardsNarrowing (43ms), BackwardsNarrowing (40ms), BackwardsNarrowing (40ms), BackwardsNarrowing (43ms), BackwardsNarrowing (158ms), BackwardsNarrowing (26ms), BackwardsNarrowing (28ms), BackwardsNarrowing (37ms), BackwardsNarrowing (28ms), BackwardsNarrowing (21ms), BackwardsNarrowing (23ms), BackwardsNarrowing (23ms), BackwardsNarrowing (139ms), BackwardsNarrowing (39ms), BackwardsNarrowing (41ms), BackwardsNarrowing (63ms), BackwardsNarrowing (52ms), BackwardsNarrowing (44ms), BackwardsNarrowing (30ms), BackwardsNarrowing (39ms), BackwardsNarrowing (22ms), BackwardsNarrowing (63ms)].
 | – Problem 3 was processed with processor BackwardsNarrowing (0ms).
 |    | – Problem 9 was processed with processor BackwardsNarrowing (1ms).
 |    |    | – Problem 12 was processed with processor BackwardsNarrowing (6ms).
 |    |    |    | – Problem 16 was processed with processor BackwardsNarrowing (21ms).
 |    |    |    |    | – Problem 19 was processed with processor BackwardsNarrowing (2ms).
 |    |    |    |    |    | – Problem 21 was processed with processor BackwardsNarrowing (1ms).
 |    |    |    |    |    |    | – Problem 25 was processed with processor BackwardsNarrowing (1ms).
 |    |    |    |    |    |    |    | – Problem 28 was processed with processor BackwardsNarrowing (2ms).
 |    |    |    |    |    |    |    |    | – Problem 32 was processed with processor BackwardsNarrowing (1ms).
 |    |    |    |    |    |    |    |    |    | – Problem 34 was processed with processor BackwardsNarrowing (2ms).
 |    |    |    |    |    |    |    |    |    |    | – Problem 37 was processed with processor BackwardsNarrowing (3ms).
 |    |    |    |    |    |    |    |    |    |    |    | – Problem 40 was processed with processor BackwardsNarrowing (3ms).
 |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 42 was processed with processor BackwardsNarrowing (6ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 45 was processed with processor BackwardsNarrowing (29ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 47 was processed with processor BackwardsNarrowing (34ms).

The following open problems remain:



Open Dependency Pair Problem 3

Dependency Pairs

U11#(tt, L)length#(L)length#(cons(N, L))U11#(and(isNatList(L), isNat(N)), L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil




Open Dependency Pair Problem 8

Dependency Pairs

T(isNatIList(V2))isNatIList#(V2)and#(tt, X)T(X)
T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))isNatList#(cons(V1, V2))and#(isNat(V1), isNatList(V2))
T(isNat(x_1))T(x_1)T(and(x_1, x_2))T(x_1)
T(and(x_1, x_2))T(x_2)isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
T(isNatList(V2))isNatList#(V2)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

isNatIList#(cons(V1, V2))isNat#(V1)U11#(tt, L)T(L)
U11#(tt, L)length#(L)isNat#(s(V1))isNat#(V1)
T(isNat(N))isNat#(N)T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))
isNatList#(cons(V1, V2))isNat#(V1)T(isNat(x_1))T(x_1)
T(and(x_1, x_2))T(x_1)isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
take#(s(M), cons(N, IL))and#(isNatIList(IL), and(isNat(M), isNat(N)))isNatList#(take(V1, V2))and#(isNat(V1), isNatIList(V2))
take#(s(M), cons(N, IL))isNatIList#(IL)T(isNatList(V2))isNatList#(V2)
T(isNatIList(V2))isNatIList#(V2)isNatIList#(V)isNatList#(V)
isNat#(length(V1))isNatList#(V1)T(isNatIList(x_1))T(x_1)
take#(0, IL)U21#(isNatIList(IL))T(take(x_1, x_2))T(x_2)
T(zeros)zeros#isNatList#(take(V1, V2))isNat#(V1)
and#(tt, X)T(X)isNatList#(cons(V1, V2))and#(isNat(V1), isNatList(V2))
T(take(x_1, x_2))T(x_1)length#(cons(N, L))U11#(and(isNatList(L), isNat(N)), L)
T(isNatList(x_1))T(x_1)T(isNat(M))isNat#(M)
take#(0, IL)isNatIList#(IL)U31#(tt, IL, M, N)T(N)
length#(cons(N, L))and#(isNatList(L), isNat(N))T(and(x_1, x_2))T(x_2)
T(take(M, IL))take#(M, IL)take#(s(M), cons(N, IL))U31#(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)
length#(cons(N, L))isNatList#(L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The following SCCs where found

U11#(tt, L) → length#(L)length#(cons(N, L)) → U11#(and(isNatList(L), isNat(N)), L)

isNatIList#(cons(V1, V2)) → isNat#(V1)isNat#(s(V1)) → isNat#(V1)
T(isNat(N)) → isNat#(N)T(and(isNat(M), isNat(N))) → and#(isNat(M), isNat(N))
isNatList#(cons(V1, V2)) → isNat#(V1)T(isNat(x_1)) → T(x_1)
T(and(x_1, x_2)) → T(x_1)isNatIList#(cons(V1, V2)) → and#(isNat(V1), isNatIList(V2))
take#(s(M), cons(N, IL)) → and#(isNatIList(IL), and(isNat(M), isNat(N)))isNatList#(take(V1, V2)) → and#(isNat(V1), isNatIList(V2))
take#(s(M), cons(N, IL)) → isNatIList#(IL)T(isNatList(V2)) → isNatList#(V2)
isNat#(length(V1)) → isNatList#(V1)T(isNatIList(V2)) → isNatIList#(V2)
isNatIList#(V) → isNatList#(V)T(isNatIList(x_1)) → T(x_1)
T(take(x_1, x_2)) → T(x_2)isNatList#(take(V1, V2)) → isNat#(V1)
and#(tt, X) → T(X)isNatList#(cons(V1, V2)) → and#(isNat(V1), isNatList(V2))
T(take(x_1, x_2)) → T(x_1)T(isNat(M)) → isNat#(M)
T(isNatList(x_1)) → T(x_1)U31#(tt, IL, M, N) → T(N)
take#(0, IL) → isNatIList#(IL)T(and(x_1, x_2)) → T(x_2)
T(take(M, IL)) → take#(M, IL)take#(s(M), cons(N, IL)) → U31#(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Problem 2: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isNatIList#(cons(V1, V2))isNat#(V1)isNat#(s(V1))isNat#(V1)
T(isNat(N))isNat#(N)T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))
isNatList#(cons(V1, V2))isNat#(V1)T(isNat(x_1))T(x_1)
T(and(x_1, x_2))T(x_1)isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
take#(s(M), cons(N, IL))and#(isNatIList(IL), and(isNat(M), isNat(N)))isNatList#(take(V1, V2))and#(isNat(V1), isNatIList(V2))
take#(s(M), cons(N, IL))isNatIList#(IL)T(isNatList(V2))isNatList#(V2)
isNatIList#(V)isNatList#(V)T(isNatIList(V2))isNatIList#(V2)
isNat#(length(V1))isNatList#(V1)T(isNatIList(x_1))T(x_1)
T(take(x_1, x_2))T(x_2)isNatList#(take(V1, V2))isNat#(V1)
and#(tt, X)T(X)isNatList#(cons(V1, V2))and#(isNat(V1), isNatList(V2))
T(take(x_1, x_2))T(x_1)T(isNatList(x_1))T(x_1)
T(isNat(M))isNat#(M)take#(0, IL)isNatIList#(IL)
U31#(tt, IL, M, N)T(N)T(and(x_1, x_2))T(x_2)
T(take(M, IL))take#(M, IL)take#(s(M), cons(N, IL))U31#(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


Polynomial Interpretation

Standard Usable rules

isNat(s(V1))isNat(V1)isNat(0)tt
isNatList(nil)tttake(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)
zeroscons(0, zeros)isNat(length(V1))isNatList(V1)
U31(tt, IL, M, N)cons(N, take(M, IL))length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
U11(tt, L)s(length(L))isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))
U21(tt)niltake(0, IL)U21(isNatIList(IL))
and(tt, X)XisNatIList(V)isNatList(V)
isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))isNatIList(zeros)tt
length(nil)0isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

isNatList#(take(V1, V2))and#(isNat(V1), isNatIList(V2))isNat#(length(V1))isNatList#(V1)
T(take(x_1, x_2))T(x_2)isNatList#(take(V1, V2))isNat#(V1)
T(take(x_1, x_2))T(x_1)T(take(M, IL))take#(M, IL)

Problem 4: DependencyGraph



Dependency Pair Problem

Dependency Pairs

and#(tt, X)T(X)isNatIList#(cons(V1, V2))isNat#(V1)
isNat#(s(V1))isNat#(V1)T(isNat(N))isNat#(N)
T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))isNatList#(cons(V1, V2))and#(isNat(V1), isNatList(V2))
isNatList#(cons(V1, V2))isNat#(V1)T(isNat(M))isNat#(M)
T(isNatList(x_1))T(x_1)T(isNat(x_1))T(x_1)
T(and(x_1, x_2))T(x_1)isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
take#(s(M), cons(N, IL))and#(isNatIList(IL), and(isNat(M), isNat(N)))take#(s(M), cons(N, IL))isNatIList#(IL)
T(isNatList(V2))isNatList#(V2)U31#(tt, IL, M, N)T(N)
take#(0, IL)isNatIList#(IL)isNatIList#(V)isNatList#(V)
T(isNatIList(V2))isNatIList#(V2)T(isNatIList(x_1))T(x_1)
T(and(x_1, x_2))T(x_2)take#(s(M), cons(N, IL))U31#(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The following SCCs where found

isNat#(s(V1)) → isNat#(V1)

T(isNatIList(V2)) → isNatIList#(V2)isNatIList#(V) → isNatList#(V)
and#(tt, X) → T(X)T(isNatIList(x_1)) → T(x_1)
T(and(isNat(M), isNat(N))) → and#(isNat(M), isNat(N))isNatList#(cons(V1, V2)) → and#(isNat(V1), isNatList(V2))
T(isNatList(x_1)) → T(x_1)T(and(x_1, x_2)) → T(x_1)
T(isNat(x_1)) → T(x_1)T(and(x_1, x_2)) → T(x_2)
isNatIList#(cons(V1, V2)) → and#(isNat(V1), isNatIList(V2))T(isNatList(V2)) → isNatList#(V2)

Problem 5: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isNat#(s(V1))isNat#(V1)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


Polynomial Interpretation

There are no usable rules

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

isNat#(s(V1))isNat#(V1)

Problem 6: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

T(isNatIList(V2))isNatIList#(V2)isNatIList#(V)isNatList#(V)
T(isNatIList(x_1))T(x_1)and#(tt, X)T(X)
T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))isNatList#(cons(V1, V2))and#(isNat(V1), isNatList(V2))
T(isNatList(x_1))T(x_1)T(and(x_1, x_2))T(x_1)
T(isNat(x_1))T(x_1)T(and(x_1, x_2))T(x_2)
isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))T(isNatList(V2))isNatList#(V2)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


Polynomial Interpretation

Standard Usable rules

isNat(s(V1))isNat(V1)isNat(0)tt
isNatList(nil)tttake(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)
zeroscons(0, zeros)isNat(length(V1))isNatList(V1)
U31(tt, IL, M, N)cons(N, take(M, IL))length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
U11(tt, L)s(length(L))isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))
U21(tt)niltake(0, IL)U21(isNatIList(IL))
and(tt, X)XisNatIList(V)isNatList(V)
isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))isNatIList(zeros)tt
length(nil)0isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

isNatIList#(V)isNatList#(V)T(isNatIList(x_1))T(x_1)

Problem 7: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

T(isNatIList(V2))isNatIList#(V2)and#(tt, X)T(X)
T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))isNatList#(cons(V1, V2))and#(isNat(V1), isNatList(V2))
T(isNatList(x_1))T(x_1)T(isNat(x_1))T(x_1)
T(and(x_1, x_2))T(x_1)T(and(x_1, x_2))T(x_2)
isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))T(isNatList(V2))isNatList#(V2)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


Polynomial Interpretation

Standard Usable rules

isNat(s(V1))isNat(V1)isNat(0)tt
isNatList(nil)tttake(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)
zeroscons(0, zeros)isNat(length(V1))isNatList(V1)
U31(tt, IL, M, N)cons(N, take(M, IL))length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
U11(tt, L)s(length(L))isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))
U21(tt)niltake(0, IL)U21(isNatIList(IL))
and(tt, X)XisNatIList(V)isNatList(V)
isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))isNatIList(zeros)tt
length(nil)0isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

T(isNatList(x_1))T(x_1)

Problem 8: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

T(isNatIList(V2))isNatIList#(V2)and#(tt, X)T(X)
T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))isNatList#(cons(V1, V2))and#(isNat(V1), isNatList(V2))
T(and(x_1, x_2))T(x_1)T(isNat(x_1))T(x_1)
T(and(x_1, x_2))T(x_2)isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
T(isNatList(V2))isNatList#(V2)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule and#(tt, X) → T(X) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(tt, tt), X) 
and#(isNat(0), X) 
and#(isNatList(nil), X) 
and#(isNatIList(zeros), X) 
Thus, the rule and#(tt, X) → T(X) is replaced by the following rules:
and#(isNatList(nil), X) → T(X)and#(and(tt, tt), X) → T(X)
and#(isNat(0), X) → T(X)and#(isNatIList(zeros), X) → T(X)

Problem 10: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

and#(tt, X)T(X)T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))
isNatList#(cons(V1, V2))and#(isNat(V1), isNatList(V2))T(isNat(x_1))T(x_1)
T(and(x_1, x_2))T(x_1)T(and(x_1, x_2))T(x_2)
isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))T(isNatList(V2))isNatList#(V2)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The right-hand side of the rule T(and(isNat(M), isNat(N))) → and#(isNat(M), isNat(N)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(tt, isNat(N)) 
and#(isNat(_x21), isNat(N)) 
and#(isNatList(_x21), isNat(N)) 
Thus, the rule T(and(isNat(M), isNat(N))) → and#(isNat(M), isNat(N)) is replaced by the following rules:
T(and(isNat(length(_x21)), isNat(N))) → and#(isNatList(_x21), isNat(N))T(and(isNat(s(_x21)), isNat(N))) → and#(isNat(_x21), isNat(N))
T(and(isNat(0), isNat(N))) → and#(tt, isNat(N))

Problem 13: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

and#(tt, X)T(X)T(and(isNat(length(_x21)), isNat(N)))and#(isNatList(_x21), isNat(N))
isNatList#(cons(V1, V2))and#(isNat(V1), isNatList(V2))T(and(x_1, x_2))T(x_1)
T(isNat(x_1))T(x_1)T(and(x_1, x_2))T(x_2)
T(and(isNat(s(_x21)), isNat(N)))and#(isNat(_x21), isNat(N))isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
T(isNatList(V2))isNatList#(V2)T(and(isNat(0), isNat(N)))and#(tt, isNat(N))

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The right-hand side of the rule T(and(isNat(length(_x21)), isNat(N))) → and#(isNatList(_x21), isNat(N)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(isNat(_x32), isNatIList(_x31)), isNat(N)) 
and#(tt, isNat(N)) 
and#(and(isNat(_x32), isNatList(_x31)), isNat(N)) 
Thus, the rule T(and(isNat(length(_x21)), isNat(N))) → and#(isNatList(_x21), isNat(N)) is replaced by the following rules:
T(and(isNat(length(cons(_x32, _x31))), isNat(N))) → and#(and(isNat(_x32), isNatList(_x31)), isNat(N))T(and(isNat(length(take(_x32, _x31))), isNat(N))) → and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))
T(and(isNat(length(nil)), isNat(N))) → and#(tt, isNat(N))

Problem 15: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

and#(tt, X)T(X)T(and(isNat(length(cons(_x32, _x31))), isNat(N)))and#(and(isNat(_x32), isNatList(_x31)), isNat(N))
T(and(isNat(length(take(_x32, _x31))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))isNatList#(cons(V1, V2))and#(isNat(V1), isNatList(V2))
T(and(isNat(length(nil)), isNat(N)))and#(tt, isNat(N))T(isNat(x_1))T(x_1)
T(and(x_1, x_2))T(x_1)T(and(isNat(s(_x21)), isNat(N)))and#(isNat(_x21), isNat(N))
T(and(x_1, x_2))T(x_2)isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
T(and(isNat(0), isNat(N)))and#(tt, isNat(N))T(isNatList(V2))isNatList#(V2)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The right-hand side of the rule T(and(isNat(length(cons(_x32, _x31))), isNat(N))) → and#(and(isNat(_x32), isNatList(_x31)), isNat(N)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(tt, isNatList(_x31)), isNat(N)) 
and#(and(isNat(_x41), isNatList(_x31)), isNat(N)) 
and#(and(isNatList(_x41), isNatList(_x31)), isNat(N)) 
Thus, the rule T(and(isNat(length(cons(_x32, _x31))), isNat(N))) → and#(and(isNat(_x32), isNatList(_x31)), isNat(N)) is replaced by the following rules:
T(and(isNat(length(cons(0, _x31))), isNat(N))) → and#(and(tt, isNatList(_x31)), isNat(N))T(and(isNat(length(cons(length(_x41), _x31))), isNat(N))) → and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))
T(and(isNat(length(cons(s(_x41), _x31))), isNat(N))) → and#(and(isNat(_x41), isNatList(_x31)), isNat(N))

Problem 20: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

and#(tt, X)T(X)T(and(isNat(length(take(_x32, _x31))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))
isNatList#(cons(V1, V2))and#(isNat(V1), isNatList(V2))T(and(isNat(length(nil)), isNat(N)))and#(tt, isNat(N))
T(and(x_1, x_2))T(x_1)T(isNat(x_1))T(x_1)
T(and(isNat(s(_x21)), isNat(N)))and#(isNat(_x21), isNat(N))T(and(isNat(length(cons(length(_x41), _x31))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))
isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))T(and(isNat(length(cons(s(_x41), _x31))), isNat(N)))and#(and(isNat(_x41), isNatList(_x31)), isNat(N))
T(isNatList(V2))isNatList#(V2)T(and(isNat(0), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(cons(0, _x31))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))T(and(x_1, x_2))T(x_2)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The right-hand side of the rule T(and(isNat(length(take(_x32, _x31))), isNat(N))) → and#(and(isNat(_x32), isNatIList(_x31)), isNat(N)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(isNatList(_x41), isNatIList(_x31)), isNat(N)) 
and#(and(tt, isNatIList(_x31)), isNat(N)) 
and#(and(isNat(_x41), isNatIList(_x31)), isNat(N)) 
Thus, the rule T(and(isNat(length(take(_x32, _x31))), isNat(N))) → and#(and(isNat(_x32), isNatIList(_x31)), isNat(N)) is replaced by the following rules:
T(and(isNat(length(take(s(_x41), _x31))), isNat(N))) → and#(and(isNat(_x41), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(length(_x41), _x31))), isNat(N))) → and#(and(isNatList(_x41), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, _x31))), isNat(N))) → and#(and(tt, isNatIList(_x31)), isNat(N))

Problem 22: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

and#(tt, X)T(X)isNatList#(cons(V1, V2))and#(isNat(V1), isNatList(V2))
T(and(isNat(length(take(length(_x41), _x31))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x31)), isNat(N))T(and(isNat(length(nil)), isNat(N)))and#(tt, isNat(N))
T(and(x_1, x_2))T(x_1)T(isNat(x_1))T(x_1)
T(and(isNat(length(take(0, _x31))), isNat(N)))and#(and(tt, isNatIList(_x31)), isNat(N))T(and(isNat(s(_x21)), isNat(N)))and#(isNat(_x21), isNat(N))
T(and(isNat(length(cons(length(_x41), _x31))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
T(and(isNat(length(cons(s(_x41), _x31))), isNat(N)))and#(and(isNat(_x41), isNatList(_x31)), isNat(N))T(isNatList(V2))isNatList#(V2)
T(and(isNat(0), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(cons(0, _x31))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))
T(and(isNat(length(take(s(_x41), _x31))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x31)), isNat(N))T(and(x_1, x_2))T(x_2)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The right-hand side of the rule isNatList#(cons(V1, V2)) → and#(isNat(V1), isNatList(V2)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(isNat(_x21), isNatList(V2)) 
and#(isNatList(_x21), isNatList(V2)) 
and#(tt, isNatList(V2)) 
Thus, the rule isNatList#(cons(V1, V2)) → and#(isNat(V1), isNatList(V2)) is replaced by the following rules:
isNatList#(cons(length(_x21), V2)) → and#(isNatList(_x21), isNatList(V2))isNatList#(cons(0, V2)) → and#(tt, isNatList(V2))
isNatList#(cons(s(_x21), V2)) → and#(isNat(_x21), isNatList(V2))

Problem 24: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

and#(tt, X)T(X)T(and(isNat(length(take(length(_x41), _x31))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x31)), isNat(N))
T(and(isNat(length(nil)), isNat(N)))and#(tt, isNat(N))T(and(x_1, x_2))T(x_1)
T(isNat(x_1))T(x_1)T(and(isNat(length(take(0, _x31))), isNat(N)))and#(and(tt, isNatIList(_x31)), isNat(N))
T(and(isNat(s(_x21)), isNat(N)))and#(isNat(_x21), isNat(N))T(and(isNat(length(cons(length(_x41), _x31))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))
isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))T(and(isNat(length(cons(s(_x41), _x31))), isNat(N)))and#(and(isNat(_x41), isNatList(_x31)), isNat(N))
T(isNatList(V2))isNatList#(V2)T(and(isNat(0), isNat(N)))and#(tt, isNat(N))
isNatList#(cons(length(_x21), V2))and#(isNatList(_x21), isNatList(V2))T(and(isNat(length(cons(0, _x31))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))
T(and(isNat(length(take(s(_x41), _x31))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x31)), isNat(N))isNatList#(cons(0, V2))and#(tt, isNatList(V2))
isNatList#(cons(s(_x21), V2))and#(isNat(_x21), isNatList(V2))T(and(x_1, x_2))T(x_2)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The right-hand side of the rule T(and(isNat(length(take(length(_x41), _x31))), isNat(N))) → and#(and(isNatList(_x41), isNatIList(_x31)), isNat(N)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(tt, isNatIList(_x31)), isNat(N)) 
and#(and(and(isNat(_x32), isNatIList(_x31)), isNatIList(_x31)), isNat(N)) 
and#(and(and(isNat(_x32), isNatList(_x31)), isNatIList(_x31)), isNat(N)) 
Thus, the rule T(and(isNat(length(take(length(_x41), _x31))), isNat(N))) → and#(and(isNatList(_x41), isNatIList(_x31)), isNat(N)) is replaced by the following rules:
T(and(isNat(length(take(length(cons(_x32, _x31)), _x31))), isNat(N))) → and#(and(and(isNat(_x32), isNatList(_x31)), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(length(take(_x32, _x31)), _x31))), isNat(N))) → and#(and(and(isNat(_x32), isNatIList(_x31)), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(length(nil), _x31))), isNat(N))) → and#(and(tt, isNatIList(_x31)), isNat(N))

Problem 27: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

and#(tt, X)T(X)T(and(isNat(length(take(length(cons(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatList(_x31)), isNatIList(_x31)), isNat(N))
T(and(isNat(length(nil)), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(length(take(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatIList(_x31)), isNatIList(_x31)), isNat(N))
T(and(x_1, x_2))T(x_1)T(isNat(x_1))T(x_1)
T(and(isNat(length(take(0, _x31))), isNat(N)))and#(and(tt, isNatIList(_x31)), isNat(N))T(and(isNat(s(_x21)), isNat(N)))and#(isNat(_x21), isNat(N))
T(and(isNat(length(cons(length(_x41), _x31))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
T(and(isNat(length(cons(s(_x41), _x31))), isNat(N)))and#(and(isNat(_x41), isNatList(_x31)), isNat(N))T(isNatList(V2))isNatList#(V2)
T(and(isNat(0), isNat(N)))and#(tt, isNat(N))isNatList#(cons(length(_x21), V2))and#(isNatList(_x21), isNatList(V2))
T(and(isNat(length(cons(0, _x31))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))T(and(isNat(length(take(s(_x41), _x31))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x31)), isNat(N))
isNatList#(cons(0, V2))and#(tt, isNatList(V2))isNatList#(cons(s(_x21), V2))and#(isNat(_x21), isNatList(V2))
T(and(x_1, x_2))T(x_2)T(and(isNat(length(take(length(nil), _x31))), isNat(N)))and#(and(tt, isNatIList(_x31)), isNat(N))

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The right-hand side of the rule T(and(isNat(length(take(0, _x31))), isNat(N))) → and#(and(tt, isNatIList(_x31)), isNat(N)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(isNatIList(_x31), isNat(N)) 
Thus, the rule T(and(isNat(length(take(0, _x31))), isNat(N))) → and#(and(tt, isNatIList(_x31)), isNat(N)) is replaced by the following rules:
T(and(isNat(length(take(0, _x31))), isNat(N))) → and#(isNatIList(_x31), isNat(N))

Problem 31: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

and#(tt, X)T(X)T(and(isNat(length(take(length(cons(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatList(_x31)), isNatIList(_x31)), isNat(N))
T(and(isNat(length(nil)), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(length(take(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatIList(_x31)), isNatIList(_x31)), isNat(N))
T(and(x_1, x_2))T(x_1)T(isNat(x_1))T(x_1)
T(and(isNat(s(_x21)), isNat(N)))and#(isNat(_x21), isNat(N))T(and(isNat(length(cons(length(_x41), _x31))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, _x31))), isNat(N)))and#(isNatIList(_x31), isNat(N))isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
T(and(isNat(length(cons(s(_x41), _x31))), isNat(N)))and#(and(isNat(_x41), isNatList(_x31)), isNat(N))T(isNatList(V2))isNatList#(V2)
T(and(isNat(0), isNat(N)))and#(tt, isNat(N))isNatList#(cons(length(_x21), V2))and#(isNatList(_x21), isNatList(V2))
T(and(isNat(length(cons(0, _x31))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))T(and(isNat(length(take(s(_x41), _x31))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x31)), isNat(N))
isNatList#(cons(0, V2))and#(tt, isNatList(V2))isNatList#(cons(s(_x21), V2))and#(isNat(_x21), isNatList(V2))
T(and(x_1, x_2))T(x_2)T(and(isNat(length(take(length(nil), _x31))), isNat(N)))and#(and(tt, isNatIList(_x31)), isNat(N))

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The right-hand side of the rule T(and(isNat(s(_x21)), isNat(N))) → and#(isNat(_x21), isNat(N)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(isNatList(_x31), isNat(N)) 
and#(tt, isNat(N)) 
and#(isNat(_x31), isNat(N)) 
Thus, the rule T(and(isNat(s(_x21)), isNat(N))) → and#(isNat(_x21), isNat(N)) is replaced by the following rules:
T(and(isNat(s(s(_x31))), isNat(N))) → and#(isNat(_x31), isNat(N))T(and(isNat(s(0)), isNat(N))) → and#(tt, isNat(N))
T(and(isNat(s(length(_x31))), isNat(N))) → and#(isNatList(_x31), isNat(N))

Problem 33: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

and#(tt, X)T(X)T(and(isNat(s(s(_x31))), isNat(N)))and#(isNat(_x31), isNat(N))
T(and(isNat(length(take(length(cons(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatList(_x31)), isNatIList(_x31)), isNat(N))T(and(isNat(length(nil)), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(length(take(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatIList(_x31)), isNatIList(_x31)), isNat(N))T(and(x_1, x_2))T(x_1)
T(isNat(x_1))T(x_1)T(and(isNat(length(cons(length(_x41), _x31))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, _x31))), isNat(N)))and#(isNatIList(_x31), isNat(N))isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
T(and(isNat(length(cons(s(_x41), _x31))), isNat(N)))and#(and(isNat(_x41), isNatList(_x31)), isNat(N))T(isNatList(V2))isNatList#(V2)
T(and(isNat(0), isNat(N)))and#(tt, isNat(N))isNatList#(cons(length(_x21), V2))and#(isNatList(_x21), isNatList(V2))
T(and(isNat(length(cons(0, _x31))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))T(and(isNat(length(take(s(_x41), _x31))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x31)), isNat(N))
isNatList#(cons(0, V2))and#(tt, isNatList(V2))T(and(isNat(s(0)), isNat(N)))and#(tt, isNat(N))
isNatList#(cons(s(_x21), V2))and#(isNat(_x21), isNatList(V2))T(and(x_1, x_2))T(x_2)
T(and(isNat(length(take(length(nil), _x31))), isNat(N)))and#(and(tt, isNatIList(_x31)), isNat(N))T(and(isNat(s(length(_x31))), isNat(N)))and#(isNatList(_x31), isNat(N))

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The right-hand side of the rule T(and(isNat(s(s(_x31))), isNat(N))) → and#(isNat(_x31), isNat(N)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(tt, isNat(N)) 
and#(isNat(_x21), isNat(N)) 
and#(isNatList(_x21), isNat(N)) 
Thus, the rule T(and(isNat(s(s(_x31))), isNat(N))) → and#(isNat(_x31), isNat(N)) is replaced by the following rules:
T(and(isNat(s(s(length(_x21)))), isNat(N))) → and#(isNatList(_x21), isNat(N))T(and(isNat(s(s(0))), isNat(N))) → and#(tt, isNat(N))
T(and(isNat(s(s(s(_x21)))), isNat(N))) → and#(isNat(_x21), isNat(N))

Problem 35: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

and#(tt, X)T(X)T(and(isNat(length(take(length(cons(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatList(_x31)), isNatIList(_x31)), isNat(N))
T(and(isNat(length(nil)), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(length(take(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatIList(_x31)), isNatIList(_x31)), isNat(N))
T(and(x_1, x_2))T(x_1)T(isNat(x_1))T(x_1)
T(and(isNat(length(cons(length(_x41), _x31))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))T(and(isNat(length(take(0, _x31))), isNat(N)))and#(isNatIList(_x31), isNat(N))
isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))T(and(isNat(length(cons(s(_x41), _x31))), isNat(N)))and#(and(isNat(_x41), isNatList(_x31)), isNat(N))
T(isNatList(V2))isNatList#(V2)T(and(isNat(0), isNat(N)))and#(tt, isNat(N))
isNatList#(cons(length(_x21), V2))and#(isNatList(_x21), isNatList(V2))T(and(isNat(s(s(length(_x21)))), isNat(N)))and#(isNatList(_x21), isNat(N))
T(and(isNat(length(cons(0, _x31))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))T(and(isNat(length(take(s(_x41), _x31))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x31)), isNat(N))
T(and(isNat(s(s(0))), isNat(N)))and#(tt, isNat(N))T(and(isNat(s(0)), isNat(N)))and#(tt, isNat(N))
isNatList#(cons(0, V2))and#(tt, isNatList(V2))isNatList#(cons(s(_x21), V2))and#(isNat(_x21), isNatList(V2))
T(and(x_1, x_2))T(x_2)T(and(isNat(length(take(length(nil), _x31))), isNat(N)))and#(and(tt, isNatIList(_x31)), isNat(N))
T(and(isNat(s(length(_x31))), isNat(N)))and#(isNatList(_x31), isNat(N))T(and(isNat(s(s(s(_x21)))), isNat(N)))and#(isNat(_x21), isNat(N))

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The right-hand side of the rule T(and(isNat(length(cons(length(_x41), _x31))), isNat(N))) → and#(and(isNatList(_x41), isNatList(_x31)), isNat(N)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(tt, isNatList(_x31)), isNat(N)) 
and#(and(and(isNat(_x32), isNatList(_x31)), isNatList(_x31)), isNat(N)) 
and#(and(and(isNat(_x32), isNatIList(_x31)), isNatList(_x31)), isNat(N)) 
Thus, the rule T(and(isNat(length(cons(length(_x41), _x31))), isNat(N))) → and#(and(isNatList(_x41), isNatList(_x31)), isNat(N)) is replaced by the following rules:
T(and(isNat(length(cons(length(nil), _x31))), isNat(N))) → and#(and(tt, isNatList(_x31)), isNat(N))T(and(isNat(length(cons(length(cons(_x32, _x31)), _x31))), isNat(N))) → and#(and(and(isNat(_x32), isNatList(_x31)), isNatList(_x31)), isNat(N))
T(and(isNat(length(cons(length(take(_x32, _x31)), _x31))), isNat(N))) → and#(and(and(isNat(_x32), isNatIList(_x31)), isNatList(_x31)), isNat(N))

Problem 38: ForwardNarrowing

The right-hand side of the rule T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(_x81), _x71)), _x41))))), _x21)))), isNat(N))) → and#(and(and(and(isNatList(_x81), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(and(and(tt, isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N)) 
and#(and(and(and(and(isNat(_x72), isNatIList(_x71)), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N)) 
and#(and(and(and(and(isNat(_x72), isNatList(_x71)), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N)) 
Thus, the rule T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(_x81), _x71)), _x41))))), _x21)))), isNat(N))) → and#(and(and(and(isNatList(_x81), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N)) is replaced by the following rules:
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(cons(_x72, _x71)), _x71)), _x41))))), _x21)))), isNat(N))) → and#(and(and(and(and(isNat(_x72), isNatList(_x71)), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), _x71)), _x41))))), _x21)))), isNat(N))) → and#(and(and(and(tt, isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(take(_x72, _x71)), _x71)), _x41))))), _x21)))), isNat(N))) → and#(and(and(and(and(isNat(_x72), isNatIList(_x71)), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))

Problem 43: ForwardNarrowing

Problem 44: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

T(and(isNat(length(cons(length(cons(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatList(_x31)), isNatList(_x31)), isNat(N))T(and(isNat(length(cons(s(length(_x31)), _x31))), isNat(N)))and#(and(isNatList(_x31), isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(s(length(_x71)), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNatList(_x71), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))and#(tt, X)T(X)
T(and(isNat(s(s(length(cons(0, cons(length(cons(length(take(_x52, _x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(0), isNat(N)))and#(tt, isNat(N))
T(and(isNat(s(s(0))), isNat(N)))and#(tt, isNat(N))T(and(isNat(s(s(length(take(length(cons(_x32, _x31)), _x31))))), isNat(N)))and#(and(and(isNat(_x32), isNatList(_x31)), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(s(0), zeros))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(cons(length(cons(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(s(_x31)), _x31))))), isNat(N)))and#(and(isNat(_x31), isNatList(_x31)), isNat(N))T(and(isNat(length(take(s(0), cons(0, nil)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(s(s(length(cons(0, nil))))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(length(take(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(take(length(take(_x32, _x31)), _x31))))), isNat(N)))and#(and(and(isNat(_x32), isNatIList(_x31)), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, take(s(s(_x51)), _x51))), _x21)))), isNat(N)))and#(and(and(isNat(_x51), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(0, cons(_x52, _x51))), _x21)))), isNat(N)))and#(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), zeros)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, nil))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(cons(s(length(_x51)), _x51)), _x21)))), isNat(N)))and#(and(and(isNatList(_x51), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(s(s(_x71)), _x71)), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x71), isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(s(s(_x31)), _x31))))), isNat(N)))and#(and(isNat(_x31), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(0, zeros)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(length(take(_x72, _x71)), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatIList(_x71)), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(0, nil)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(nil), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(s(s(_x71)), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x71), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(0, nil)), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(0), take(0, _x21)))))), isNat(N)))and#(isNatIList(_x21), isNat(N))T(and(isNat(s(s(length(cons(s(0), cons(_x22, _x21)))))), isNat(N)))and#(and(isNat(_x22), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(nil), _x41)))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, _x31))))), isNat(N)))and#(isNatIList(_x31), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(0, _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(take(_x72, _x71)), _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatIList(_x71)), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(length(nil))))), _x41))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(length(nil), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(tt, isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), zeros)))), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(s(_x41), _x31)))), isNat(N)))and#(and(isNat(_x41), isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), _x21)))), isNat(N)))and#(isNatIList(_x21), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(take(length(_x101), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNatList(_x101), isNatIList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(cons(_x92, _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x92), isNatList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(0, _x21)))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))
T(and(isNat(s(s(length(take(s(length(_x31)), _x31))))), isNat(N)))and#(and(isNatList(_x31), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(s(_x61), _x41))))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), cons(_x52, _x51)))), _x21)))), isNat(N)))and#(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(s(_x61), _x51)), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(length(cons(_x112, _x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(and(isNat(_x112), isNatList(_x111)), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(s(length(take(0, _x21)))))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(s(_x31)), _x31))), isNat(N)))and#(and(isNat(_x31), isNatIList(_x31)), isNat(N))isNatList#(cons(s(s(_x31)), V2))and#(isNat(_x31), isNatList(V2))
T(and(isNat(length(take(s(0), cons(length(nil), _x21)))), isNat(N)))and#(isNatIList(_x21), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(0, _x51)))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(0, _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(take(s(length(_x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(isNatList(_x51), isNatIList(_x51)), isNatList(_x21)), isNat(N))
isNatList#(cons(s(length(_x31)), V2))and#(isNatList(_x31), isNatList(V2))T(and(isNat(length(take(0, cons(length(take(length(cons(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(length(nil), _x51)), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(length(_x71)), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x71), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(0, _x51)))), _x21)))))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, take(_x32, _x31)))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(s(0), _x71)), _x41)))), _x21)))), isNat(N)))and#(and(and(isNatIList(_x71), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(0, take(_x52, _x51))), _x21)))), isNat(N)))and#(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), nil))), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(s(length(_x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(length(take(_x52, _x51)), _x51))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, nil)), _x21)))), isNat(N)))and#(isNatIList(_x21), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(s(length(_x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(length(nil), _x51))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, zeros)), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, take(length(_x61), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), cons(_x62, _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(length(nil), _x51)), _x21)))), isNat(N)))and#(and(isNatIList(_x51), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(length(_x61), _x41))))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, _x51))), _x21)))))), isNat(N)))and#(and(isNatList(_x51), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(take(s(_x101), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x101), isNatIList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(s(_x41), _x21)))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(0, take(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(length(_x61), _x41))), _x21)))))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(length(cons(_x52, _x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(0, _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(tt, isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), zeros))), cons(_x32, _x31))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))T(and(isNat(s(s(length(take(0, _x31))))), isNat(N)))and#(isNatIList(_x31), isNat(N))
T(and(isNat(s(s(length(cons(s(0), nil))))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), zeros)), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(length(take(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(length(_x71)), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(length(nil), _x31))), isNat(N)))and#(isNatIList(_x31), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(0, _x41))), _x21)))), isNat(N)))and#(and(isNatIList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(take(length(_x61), _x51)), _x21)))))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(s(0), take(s(_x41), _x21)))))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(length(take(_x72, _x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x72), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(s(_x61), _x51))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(s(_x61), _x41))), _x21)))))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x41)), isNatList(_x21)), isNat(N))T(and(isNat(s(s(length(take(length(nil), _x31))))), isNat(N)))and#(isNatIList(_x31), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(0, _x71)), _x41)))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(s(length(_x51)), _x21)))))), isNat(N)))and#(and(isNatList(_x51), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(cons(_x62, _x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatList(_x61)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(0)), isNat(N)))and#(tt, isNat(N))
isNatList#(cons(0, V2))and#(tt, isNatList(V2))T(and(isNat(s(s(s(length(take(s(_x41), _x21)))))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(s(s(_x51)), _x21)))), isNat(N)))and#(and(isNat(_x51), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(s(length(take(length(take(_x52, _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(s(s(0))))), isNat(N)))and#(tt, isNat(N))isNatIList#(cons(length(_x21), V2))and#(isNatList(_x21), isNatIList(V2))
T(and(isNat(s(length(_x31))), isNat(N)))and#(isNatList(_x31), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, cons(s(_x61), _x41)))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(0, _x41)))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(nil), _x41))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(take(0, _x51)), _x21)))))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(s(0), _x51)))), _x21)))))), isNat(N)))and#(and(isNatIList(_x51), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(length(take(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(nil)), isNat(N)))and#(tt, isNat(N))
T(and(x_1, x_2))T(x_1)T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(s(s(0))), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(s(s(_x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x111), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(s(0)), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, zeros))), isNat(N)))and#(tt, isNat(N))isNatList#(cons(s(0), V2))and#(tt, isNatList(V2))
T(and(isNat(length(cons(s(s(_x31)), _x31))), isNat(N)))and#(and(isNat(_x31), isNatList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, take(0, _x41))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(cons(_x82, _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x82), isNatList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(s(s(length(_x71)))), _x41))))), _x21)))), isNat(N)))and#(and(and(isNatList(_x71), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), zeros))), zeros)))), isNat(N)))and#(tt, isNat(N))T(and(x_1, x_2))T(x_2)
T(and(isNat(length(take(s(0), cons(length(take(length(cons(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(s(length(_x51)), _x51)))), _x21)))))), isNat(N)))and#(and(and(isNatList(_x51), isNatIList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(0, _x41)))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(s(length(nil))))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), zeros))), take(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(length(nil), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(isNatIList(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(0, _x31)))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(nil)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(isNat(x_1))T(x_1)T(and(isNat(s(s(length(cons(s(length(_x31)), _x31))))), isNat(N)))and#(and(isNatList(_x31), isNatList(_x31)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(length(nil), _x51)), _x21)))))), isNat(N)))and#(and(isNatList(_x51), isNatList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(0, zeros)), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(take(0, _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(tt, isNatIList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(take(s(0), _x51)), _x21)))))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(s(s(length(take(s(s(_x31)), _x31))))), isNat(N)))and#(and(isNat(_x31), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(0, _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, zeros))), _x21)))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, take(s(_x61), _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(nil), _x21)))), isNat(N)))and#(isNatIList(_x21), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(s(length(_x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), take(_x42, _x41)))), _x21)))), isNat(N)))and#(and(and(isNat(_x42), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(0, cons(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatList(_x21)), isNat(N))
T(and(isNat(s(s(s(0)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, nil)), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(length(cons(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatList(_x31)), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), take(length(_x61), _x51)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(s(s(s(_x21)))))), isNat(N)))and#(isNat(_x21), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(s(0))))), _x41))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(0, cons(_x42, _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x42), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(0, cons(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatList(_x21)), isNat(N))
isNatList#(cons(length(_x21), V2))and#(isNatList(_x21), isNatList(V2))T(and(isNat(length(cons(0, _x31))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(nil), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(0, cons(_x32, _x31))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(length(cons(_x52, _x51)), _x51))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(s(0), _x51)), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, take(s(length(_x51)), _x51))), _x21)))), isNat(N)))and#(and(and(isNatList(_x51), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(s(0), _x31))))), isNat(N)))and#(and(tt, isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(length(_x81), _x71)), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNatList(_x81), isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(s(s(_x51)), _x21)))))), isNat(N)))and#(and(isNat(_x51), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(s(length(_x31)), _x31))))), isNat(N)))and#(and(isNatList(_x31), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(length(cons(s(_x81), _x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x81), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(nil)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, cons(s(0), _x41))), _x21)))))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(s(0), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(0), _x41)))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(_x41), _x31)))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, cons(0, _x41)))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), nil)), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(length(_x41), _x31))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(s(s(_x51)), _x51)), _x21)))), isNat(N)))and#(and(and(isNat(_x51), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, cons(s(s(_x71)), _x41))), _x21)))))), isNat(N)))and#(and(and(isNat(_x71), isNatList(_x41)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(s(_x81), _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x81), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(length(cons(_x72, _x71)), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatList(_x71)), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), zeros))), nil)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(0, nil)), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, cons(length(_x61), _x41))), _x21)))))), isNat(N)))and#(and(and(isNatList(_x61), isNatList(_x41)), isNatList(_x21)), isNat(N))T(and(isNat(s(s(s(length(take(length(nil), _x21)))))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(s(s(s(_x71)))), _x41))))), _x21)))), isNat(N)))and#(and(and(isNat(_x71), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, cons(0, _x41))), _x21)))))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(cons(_x72, _x71)), _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatList(_x71)), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, take(0, _x51))), _x21)))), isNat(N)))and#(and(isNatIList(_x51), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(nil), _x21)))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(cons(_x72, _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x72), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), take(s(_x61), _x51)))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(s(0), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(isNatIList(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(cons(length(take(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatIList(_x31)), isNatList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(s(0), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNatIList(_x81), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(s(s(_x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(length(take(_x112, _x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(and(isNat(_x112), isNatIList(_x111)), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(take(_x72, _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x72), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(length(_x41), _x31))))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))
isNatIList#(cons(0, V2))and#(tt, isNatIList(V2))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(length(_x61), _x41)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(length(_x61), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, take(length(_x61), _x51))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(0, cons(_x32, _x31))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(s(length(_x31)), _x31))), isNat(N)))and#(and(isNatList(_x31), isNatIList(_x31)), isNat(N))
T(and(isNat(s(s(s(length(cons(_x22, _x21)))))), isNat(N)))and#(and(isNat(_x22), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), take(0, _x51)))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(s(_x61), _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x61), isNatList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(take(_x62, _x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatIList(_x61)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(0), take(length(_x41), _x21)))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), _x41)), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(length(cons(0, _x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, cons(s(length(_x71)), _x41))), _x21)))))), isNat(N)))and#(and(and(isNatList(_x71), isNatList(_x41)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, cons(length(_x61), _x41)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, nil)), _x21)))))), isNat(N)))and#(isNatList(_x21), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(s(0)), _x41)))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(0, take(_x62, _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(length(take(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatIList(_x31)), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(s(_x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x91), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(cons(_x52, _x51)), _x21)))), isNat(N)))and#(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), nil))), _x21)))), isNat(N)))and#(isNatIList(_x21), isNat(N))
T(and(isNat(s(s(length(cons(0, take(_x22, _x21)))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(s(s(length(_x21)))))), isNat(N)))and#(isNatList(_x21), isNat(N))
T(and(isNat(s(s(s(length(take(length(cons(_x52, _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(length(_x61), _x51)))), _x21)))))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(s(length(_x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNatList(_x111), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(take(s(s(_x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x51), isNatIList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(0), _x41))))), _x21)))), isNat(N)))and#(and(isNatIList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(0, cons(_x62, _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(s(length(_x51)), _x21)))), isNat(N)))and#(and(isNatList(_x51), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(length(_x61))), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(take(s(0), _x31))))), isNat(N)))and#(and(tt, isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), _x31)))), isNat(N)))and#(isNatList(_x31), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(s(_x61), _x51)))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(0, _x41))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(s(_x61), _x41)))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(length(_x71)))), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(0, take(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(0), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(s(length(_x71)), _x71)), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNatList(_x71), isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(length(cons(length(_x81), _x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNatList(_x81), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), zeros))), cons(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(s(s(_x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(cons(s(0), _x31))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(_x52, _x51))))), _x21)))), isNat(N)))and#(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(_x42, _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x42), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, take(s(0), _x51))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(s(0), _x21)))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(0, zeros)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(length(_x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(isNatList(_x71), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(cons(length(nil), _x31))), isNat(N)))and#(isNatList(_x31), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(length(_x61), _x51)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(0))), _x41))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(0)), _x41))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(s(s(_x51)), _x51)))), _x21)))))), isNat(N)))and#(and(and(isNat(_x51), isNatIList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(0, _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(isNatIList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), _x21))), isNat(N)))and#(isNatList(_x21), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(s(_x71)), _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x71), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(0), _x41))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
isNatIList#(cons(s(_x21), V2))and#(isNat(_x21), isNatIList(V2))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(cons(_x72, _x71)), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x72), isNatList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(s(_x61), _x51)), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The right-hand side of the rule T(and(isNat(length(take(s(0), cons(length(take(0, cons(_x52, _x51))), _x21)))), isNat(N))) → and#(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x21)), isNat(N)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(and(isNat(_x61), isNatList(_x51)), isNatIList(_x21)), isNat(N)) 
and#(and(and(tt, isNatList(_x51)), isNatIList(_x21)), isNat(N)) 
and#(and(and(isNatList(_x61), isNatList(_x51)), isNatIList(_x21)), isNat(N)) 
Thus, the rule T(and(isNat(length(take(s(0), cons(length(take(0, cons(_x52, _x51))), _x21)))), isNat(N))) → and#(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x21)), isNat(N)) is replaced by the following rules:
T(and(isNat(length(take(s(0), cons(length(take(0, cons(s(_x61), _x51))), _x21)))), isNat(N))) → and#(and(and(isNat(_x61), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(0, cons(length(_x61), _x51))), _x21)))), isNat(N))) → and#(and(and(isNatList(_x61), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(0, cons(0, _x51))), _x21)))), isNat(N))) → and#(and(and(tt, isNatList(_x51)), isNatIList(_x21)), isNat(N))

Problem 46: ForwardNarrowing

Problem 48: ForwardNarrowing

The right-hand side of the rule T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(0, _x41))))), _x21)))), isNat(N))) → and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N)) 
Thus, the rule T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(0, _x41))))), _x21)))), isNat(N))) → and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N)) is replaced by the following rules:
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(0, _x41))))), _x21)))), isNat(N))) → and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))

Problem 50: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

T(and(isNat(length(cons(length(cons(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatList(_x31)), isNatList(_x31)), isNat(N))T(and(isNat(length(cons(s(length(_x31)), _x31))), isNat(N)))and#(and(isNatList(_x31), isNatList(_x31)), isNat(N))
isNatList#(cons(s(s(length(take(length(take(_x32, _x31)), _x31)))), V2))and#(and(and(isNat(_x32), isNatIList(_x31)), isNatIList(_x31)), isNatList(V2))T(and(isNat(length(take(s(0), cons(length(take(s(length(_x51)), _x51)), _x21)))), isNat(N)))and#(and(and(isNatList(_x51), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(take(length(take(_x92, _x91)), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(and(isNat(_x92), isNatIList(_x91)), isNatIList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(0, nil)), nil)))), isNat(N)))and#(tt, isNat(N))
isNatList#(cons(s(s(s(0))), V2))and#(tt, isNatList(V2))T(and(isNat(s(s(length(cons(0, cons(length(cons(length(take(_x52, _x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(s(s(0))), isNat(N)))and#(tt, isNat(N))T(and(isNat(s(s(length(take(length(cons(_x32, _x31)), _x31))))), isNat(N)))and#(and(and(isNat(_x32), isNatList(_x31)), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(s(0), zeros))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(s(0), cons(length(nil), cons(s(s(_x31)), _x31))))), isNat(N)))and#(and(isNat(_x31), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(nil), cons(s(length(_x31)), _x31))))), isNat(N)))and#(and(isNatList(_x31), isNatIList(_x31)), isNat(N))T(and(isNat(s(s(length(take(length(take(_x32, _x31)), _x31))))), isNat(N)))and#(and(and(isNat(_x32), isNatIList(_x31)), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(0, nil)), zeros)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(s(s(_x71)), _x71)), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x71), isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), nil))))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(s(s(_x31)), _x31))))), isNat(N)))and#(and(isNat(_x31), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, nil)), nil)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), zeros))))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(s(s(_x71)), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x71), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), nil)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(s(length(_x31)), _x31)))), isNat(N)))and#(and(isNatList(_x31), isNatList(_x31)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(take(s(length(_x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(isNatList(_x51), isNatIList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(cons(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(length(_x61), _x41))))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(_x32, _x31)))))), isNat(N)))and#(and(isNat(_x32), isNatList(_x31)), isNat(N))T(and(isNat(length(take(s(0), cons(s(_x41), _x21)))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(take(s(_x101), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x101), isNatIList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(length(_x61), _x41))), _x21)))))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(length(cons(_x52, _x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), zeros))), cons(_x32, _x31))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(0, _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(tt, isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(s(0), nil))))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(cons(length(take(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(length(_x71)), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(length(nil), _x31))), isNat(N)))and#(isNatIList(_x31), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(take(length(_x61), _x51)), _x21)))))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatList(_x21)), isNat(N))
isNatList#(cons(s(length(cons(s(0), _x21))), V2))and#(and(tt, isNatList(_x21)), isNatList(V2))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(0, _x41))), _x21))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), cons(length(_x41), _x21))))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(s(_x61), _x51))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(nil)), _x21))))), isNat(N)))and#(isNatIList(_x21), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(cons(_x62, _x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatList(_x61)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), nil))), _x21)))), isNat(N)))and#(isNatIList(_x21), isNat(N))T(and(isNat(length(take(0, cons(s(s(_x51)), _x21)))), isNat(N)))and#(and(isNat(_x51), isNatIList(_x21)), isNat(N))
isNatList#(cons(s(length(cons(length(_x41), _x21))), V2))and#(and(isNatList(_x41), isNatList(_x21)), isNatList(V2))T(and(isNat(s(s(s(length(take(length(take(_x52, _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
isNatIList#(cons(length(_x21), V2))and#(isNatList(_x21), isNatIList(V2))T(and(isNat(s(s(s(s(0))))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(0, _x41)))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, cons(s(_x61), _x41)))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(length(take(_x52, _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(take(0, cons(0, _x61))))), _x41))), _x21))))), isNat(N)))and#(and(and(isNatIList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), zeros)))), _x31)))), isNat(N)))and#(isNatList(_x31), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(nil), cons(s(_x61), _x51))))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(length(nil), _x41))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(s(0), _x51)))), _x21)))))), isNat(N)))and#(and(isNatIList(_x51), isNatList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(0), cons(0, cons(_x32, _x31))))))), isNat(N)))and#(and(isNat(_x32), isNatList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(nil), cons(0, _x31))))))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(nil), zeros)))), _x21)))), isNat(N)))and#(isNatIList(_x21), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(s(s(_x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x111), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(cons(length(take(_x72, _x71)), _x71)))), _x41))), _x21))))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatIList(_x71)), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(take(s(_x61), _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(s(length(nil)), _x41))))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(s(0)), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, zeros))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(nil))), _x41))), _x21))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
isNatList#(cons(s(0), V2))and#(tt, isNatList(V2))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, take(_x32, _x31)))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))
T(and(isNat(length(cons(s(s(_x31)), _x31))), isNat(N)))and#(and(isNat(_x31), isNatList(_x31)), isNat(N))isNatList#(cons(s(s(s(s(_x31)))), V2))and#(isNat(_x31), isNatList(V2))
T(and(isNat(s(s(length(cons(s(0), cons(s(_x41), _x21)))))), isNat(N)))and#(and(isNat(_x41), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(s(0), _x31)))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(cons(_x82, _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x82), isNatList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))isNatList#(cons(s(s(length(take(length(nil), _x31)))), V2))and#(and(tt, isNatIList(_x31)), isNatList(V2))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(length(cons(_x62, _x61))), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatList(_x61)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(0, _x51)))), _x21)))))), isNat(N)))and#(and(isNatIList(_x51), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(length(nil))))), _x41))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), zeros))), zeros)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(s(s(length(_x71)))), _x41))))), _x21)))), isNat(N)))and#(and(and(isNatList(_x71), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(length(cons(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(0, _x41)))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(s(length(nil))))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, nil))))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(length(nil), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(isNatIList(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(nil), cons(s(_x41), _x31))))))), isNat(N)))and#(and(isNat(_x41), isNatList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(nil)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(length(nil), _x51)), _x21)))))), isNat(N)))and#(and(isNatList(_x51), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(length(nil)), _x41))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), zeros)))), cons(length(_x41), _x31))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(length(take(_x62, _x61))), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatIList(_x61)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(take(0, _x61)))), _x41))), _x21))))), isNat(N)))and#(and(and(isNatList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(take(s(0), _x51)), _x21)))))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(cons(s(_x81), _x71)))), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNat(_x81), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, zeros))), _x21)))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(nil), _x21)))), isNat(N)))and#(isNatIList(_x21), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(s(length(_x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), take(_x42, _x41)))), _x21)))), isNat(N)))and#(and(and(isNat(_x42), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(s(0)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(take(0, cons(length(_x81), _x61))))), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNatList(_x81), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, nil)), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(length(cons(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatList(_x31)), isNatIList(_x31)), isNat(N))T(and(isNat(s(s(s(s(s(_x21)))))), isNat(N)))and#(isNat(_x21), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(s(0))))), _x41))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(length(cons(s(length(_x111)), _x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(and(isNatList(_x111), isNatList(_x111)), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(s(0)), _x21))))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), zeros)))), cons(s(_x41), _x31))))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(length(take(_x62, _x61))), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNat(_x62), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(s(_x41), _x21)))))), isNat(N)))and#(and(isNat(_x41), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(0, nil)), cons(_x32, _x31))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(0, cons(length(nil), _x51))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(nil), cons(0, _x31))))), isNat(N)))and#(and(tt, isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(s(0), _x51)), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(length(cons(_x52, _x51)), _x51))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, zeros))))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(s(length(take(length(_x81), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNatList(_x81), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(length(cons(s(_x81), _x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x81), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(nil)))), isNat(N)))and#(tt, isNat(N))isNatList#(cons(s(s(length(take(0, _x31)))), V2))and#(isNatIList(_x31), isNatList(V2))
T(and(isNat(length(take(0, cons(s(0), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, cons(s(0), _x41))), _x21)))))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(0), _x41)))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(_x41), _x31)))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(cons(0, _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(tt, isNatList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), nil)), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(nil), cons(length(_x41), _x31))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(length(_x41), _x31))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(length(cons(_x72, _x71)), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatList(_x71)), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), zeros))), nil)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(0, nil)), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(s(length(take(length(nil), _x21)))))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(s(s(s(_x71)))), _x41))))), _x21)))), isNat(N)))and#(and(and(isNat(_x71), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(s(length(take(s(_x81), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x81), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(length(nil), take(_x42, _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x42), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, take(0, _x51))), _x21)))), isNat(N)))and#(and(isNatIList(_x51), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(nil), _x21)))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(cons(_x72, _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x72), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(s(0), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(isNatIList(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(length(_x41), _x31))))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))
isNatIList#(cons(0, V2))and#(tt, isNatIList(V2))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(length(_x61), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(length(_x61), _x41)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(s(s(_x31)), _x31)))), isNat(N)))and#(and(isNat(_x31), isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), zeros)))), zeros)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(s(length(_x31)), _x31))), isNat(N)))and#(and(isNatList(_x31), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(length(cons(s(0), _x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(and(tt, isNatList(_x111)), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(s(_x61), _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x61), isNatList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(length(cons(0, _x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, nil)), cons(0, _x21))))), isNat(N)))and#(isNatList(_x21), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, cons(length(_x61), _x41)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(0, _x61)), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(s(_x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x91), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), nil))), _x21)))), isNat(N)))and#(isNatIList(_x21), isNat(N))
T(and(isNat(s(s(length(cons(0, take(_x22, _x21)))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(s(length(take(length(cons(_x52, _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(length(_x61), _x51)))), _x21)))))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(s(length(_x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNatList(_x111), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(take(s(s(_x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x51), isNatIList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(cons(length(nil), _x71)))), _x41))), _x21))))), isNat(N)))and#(and(and(and(tt, isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(length(_x61))), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(take(s(0), _x31))))), isNat(N)))and#(and(tt, isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(_x32, _x31)))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(take(length(nil), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNatIList(_x91), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(s(_x41), _x21)))))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(s(0), cons(_x62, _x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatIList(_x61)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(s(_x61), _x41)))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))isNatList#(cons(s(length(cons(0, _x21))), V2))and#(and(tt, isNatList(_x21)), isNatList(V2))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(length(_x71)))), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(0), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(s(length(_x71)), _x71)), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNatList(_x71), isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(cons(s(0), _x31))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(s(s(_x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), zeros))), cons(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(_x52, _x51))))), _x21)))), isNat(N)))and#(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(length(nil), cons(_x42, _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x42), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, take(s(0), _x51))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(s(0), _x21)))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(0, zeros)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(cons(length(nil), _x31))), isNat(N)))and#(isNatList(_x31), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(nil), nil)))))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(cons(length(nil), nil)), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(0)), _x41))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(length(cons(0, _x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNatList(_x111), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(s(s(_x51)), _x51)))), _x21)))))), isNat(N)))and#(and(and(isNat(_x51), isNatIList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(s(_x71)), _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x71), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(0), _x41))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(s(_x61), _x51)), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(cons(_x72, _x71)), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x72), isNatList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(s(length(_x71)), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNatList(_x71), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
and#(tt, X)T(X)T(and(isNat(length(take(s(0), cons(length(take(0, nil)), take(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))
T(and(isNat(0), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), cons(length(take(_x52, _x51)), _x51)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(length(cons(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(s(s(_x31)), _x31))))), isNat(N)))and#(and(isNat(_x31), isNatList(_x31)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(s(0), _x51)), _x21)))), isNat(N)))and#(and(isNatIList(_x51), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(0, nil)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(s(s(length(cons(0, nil))))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(length(take(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
isNatList#(cons(s(s(0)), V2))and#(tt, isNatList(V2))T(and(isNat(length(take(0, cons(length(take(0, take(s(s(_x51)), _x51))), _x21)))), isNat(N)))and#(and(and(isNat(_x51), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(0), cons(0, nil)))))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), zeros)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, nil))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(s(0), _x61)), _x41)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(s(length(_x51)), _x51)), _x21)))), isNat(N)))and#(and(and(isNatList(_x51), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(cons(s(length(_x91)), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNatList(_x91), isNatList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(0, zeros)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(take(length(cons(_x92, _x91)), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(and(isNat(_x92), isNatList(_x91)), isNatIList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), zeros)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(length(take(_x72, _x71)), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatIList(_x71)), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(0, nil)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(take(_x72, _x71)), _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatIList(_x71)), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(take(s(length(_x31)), _x31))))), isNat(N)))and#(and(isNatList(_x31), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(s(s(_x31)), _x31))), isNat(N)))and#(and(isNat(_x31), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(s(0), zeros)), _x41)))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(s(s(_x41))), _x21))))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(0, zeros)), _x41))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, take(_x32, _x31)))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(0, take(_x52, _x51))), _x21)))), isNat(N)))and#(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(s(length(_x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(length(take(_x52, _x51)), _x51))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(s(length(_x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(0, zeros)))), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(length(nil), _x51))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(0), take(0, take(_x22, _x21))))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, zeros)), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, take(length(_x61), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), cons(_x62, _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(length(nil), _x51)), _x21)))), isNat(N)))and#(and(isNatIList(_x51), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, _x51))), _x21)))))), isNat(N)))and#(and(isNatList(_x51), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(0, take(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(0, cons(s(_x61), _x51))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(s(_x61))), _x41))), _x21))))), isNat(N)))and#(and(and(isNat(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(take(0, _x31))))), isNat(N)))and#(isNatIList(_x31), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), zeros)), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(s(0), cons(0, take(_x32, _x31))))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(0, _x41))), _x21)))), isNat(N)))and#(and(isNatIList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(nil), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(isNatIList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(nil), _x31)))), isNat(N)))and#(isNatList(_x31), isNat(N))T(and(isNat(s(s(length(cons(s(0), take(s(_x41), _x21)))))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), take(_x22, _x21)))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(length(take(_x72, _x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x72), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(take(length(nil), _x31))))), isNat(N)))and#(isNatIList(_x31), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(s(_x61), _x41))), _x21)))))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x41)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(0, _x71)), _x41)))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(length(cons(length(_x121), _x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(and(isNatList(_x121), isNatList(_x111)), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(s(length(_x51)), _x21)))))), isNat(N)))and#(and(isNatList(_x51), isNatList(_x21)), isNat(N))isNatList#(cons(0, V2))and#(tt, isNatList(V2))
T(and(isNat(s(0)), isNat(N)))and#(tt, isNat(N))T(and(isNat(s(s(s(length(take(s(_x41), _x21)))))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), cons(0, _x51)))), _x21)))), isNat(N)))and#(and(isNatList(_x51), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(s(length(take(0, _x21)))))), isNat(N)))and#(isNatIList(_x21), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), cons(length(cons(_x52, _x51)), _x51)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(s(length(_x31))), isNat(N)))and#(isNatList(_x31), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(cons(0, _x71)))), _x41))), _x21))))), isNat(N)))and#(and(and(and(tt, isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))isNatList#(cons(s(length(nil)), V2))and#(tt, isNatList(V2))
T(and(isNat(s(s(length(cons(0, cons(length(take(0, _x51)), _x21)))))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(nil)), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(length(take(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(s(s(_x51)), _x51)), _x21)))), isNat(N)))and#(and(and(isNat(_x51), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(nil), cons(0, _x51))))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(0, nil)), cons(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatList(_x21)), isNat(N))
T(and(x_1, x_2))T(x_1)T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(cons(_x52, _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(cons(length(_x101), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNatList(_x101), isNatList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(nil), cons(length(_x61), _x51))))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(0), cons(length(_x41), _x21)))))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(take(0, cons(s(_x81), _x61))))), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNat(_x81), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(take(0, zeros)))), _x41))), _x21))))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), cons(length(nil), _x51)))), _x21)))), isNat(N)))and#(and(isNatList(_x51), isNatIList(_x21)), isNat(N))
isNatList#(cons(s(s(length(nil))), V2))and#(tt, isNatList(V2))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(s(s(0))), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(cons(s(0), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(tt, isNatList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(length(nil), _x21)))))), isNat(N)))and#(isNatIList(_x21), isNat(N))
isNatList#(cons(s(s(length(cons(_x32, _x31)))), V2))and#(and(isNat(_x32), isNatList(_x31)), isNatList(V2))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(s(length(cons(_x62, _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, take(0, _x41))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(s(0), take(0, zeros)))))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(cons(length(cons(_x72, _x71)), _x71)))), _x41))), _x21))))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatList(_x71)), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), cons(0, _x21))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), cons(s(_x41), _x21))))), isNat(N)))and#(and(isNat(_x41), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(length(cons(_x72, _x71)), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNat(_x72), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(x_1, x_2))T(x_2)T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(s(length(_x51)), _x51)))), _x21)))))), isNat(N)))and#(and(and(isNatList(_x51), isNatIList(_x51)), isNatList(_x21)), isNat(N))
isNatList#(cons(s(s(length(take(length(cons(_x32, _x31)), _x31)))), V2))and#(and(and(isNat(_x32), isNatList(_x31)), isNatIList(_x31)), isNatList(V2))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(0), _x41))), _x21))))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), zeros)))), cons(0, _x31))))), isNat(N)))and#(isNatIList(_x31), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), zeros))), take(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))
isNatList#(cons(s(length(cons(s(length(_x51)), _x21))), V2))and#(and(isNatList(_x51), isNatList(_x21)), isNatList(V2))T(and(isNat(length(take(0, cons(0, _x31)))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))
T(and(isNat(s(s(length(cons(s(length(_x31)), _x31))))), isNat(N)))and#(and(isNatList(_x31), isNatList(_x31)), isNat(N))T(isNat(x_1))T(x_1)
T(and(isNat(length(take(s(0), cons(length(take(0, zeros)), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(0)), _x41))), _x21))))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(take(0, _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(tt, isNatIList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, nil)), take(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(take(s(s(_x31)), _x31))))), isNat(N)))and#(and(isNat(_x31), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(0, _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(0, cons(length(cons(_x52, _x51)), _x51))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, take(s(_x61), _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(0, cons(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(length(take(_x72, _x71)), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNat(_x72), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
isNatList#(cons(s(length(cons(s(s(_x51)), _x21))), V2))and#(and(isNat(_x51), isNatList(_x21)), isNatList(V2))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(length(cons(_x52, _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), take(length(_x61), _x51)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, nil)), cons(s(_x41), _x21))))), isNat(N)))and#(and(isNat(_x41), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(0, cons(_x42, _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x42), isNatIList(_x41)), isNatIList(_x21)), isNat(N))isNatList#(cons(length(_x21), V2))and#(isNatList(_x21), isNatList(V2))
T(and(isNat(length(take(s(0), cons(0, cons(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(length(nil), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNatIList(_x81), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(s(0), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(nil), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(cons(0, _x31))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, nil)), cons(length(_x41), _x21))))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(0, cons(_x32, _x31))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(0, _x21)))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, take(s(length(_x51)), _x51))), _x21)))), isNat(N)))and#(and(and(isNatList(_x51), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(s(0), _x31))))), isNat(N)))and#(and(tt, isNatIList(_x31)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(s(s(_x51)), _x21)))))), isNat(N)))and#(and(isNat(_x51), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(length(_x81), _x71)), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNatList(_x81), isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(s(length(_x31)), _x31))))), isNat(N)))and#(and(isNatList(_x31), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), cons(_x32, _x31))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(0, _x21)))))), isNat(N)))and#(isNatList(_x21), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, cons(0, _x41)))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(nil), take(_x32, _x31))))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(0, cons(_x42, _x41))))), _x21)))), isNat(N)))and#(and(and(isNat(_x42), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, nil)), cons(_x32, _x31))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(s(s(_x51)), _x51)), _x21)))), isNat(N)))and#(and(and(isNat(_x51), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, cons(s(s(_x71)), _x41))), _x21)))))), isNat(N)))and#(and(and(isNat(_x71), isNatList(_x41)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(s(_x81), _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x81), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(0), take(0, cons(_x32, _x31))))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(nil), _x51)))), _x21)))), isNat(N)))and#(and(isNatList(_x51), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, cons(length(_x61), _x41))), _x21)))))), isNat(N)))and#(and(and(isNatList(_x61), isNatList(_x41)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(s(s(_x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(isNat(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(0, cons(0, _x51))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, cons(0, _x41))), _x21)))))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(length(cons(_x62, _x61))), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNat(_x62), isNatList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(cons(_x72, _x71)), _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatList(_x71)), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(length(_x41), _x21))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), take(s(_x61), _x51)))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(nil), zeros)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(0, _x21)))))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
T(and(isNat(length(cons(length(take(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatIList(_x31)), isNatList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(s(0), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNatIList(_x81), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(s(s(_x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(length(take(_x112, _x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(and(isNat(_x112), isNatIList(_x111)), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(take(_x72, _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x72), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, nil)), zeros)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, take(length(_x61), _x51))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(take(length(_x61), _x51)), _x21)))))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(length(nil)), _x41))), _x21))))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(0, cons(_x32, _x31))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(nil), cons(s(0), _x31))))), isNat(N)))and#(and(tt, isNatIList(_x31)), isNat(N))T(and(isNat(s(s(s(length(cons(_x22, _x21)))))), isNat(N)))and#(and(isNat(_x22), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), take(0, _x51)))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(s(length(_x41))), _x21))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(take(_x62, _x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatIList(_x61)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(s(0), take(length(_x41), _x21)))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(length(cons(s(s(_x111)), _x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(and(isNat(_x111), isNatList(_x111)), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), _x41)), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
isNatList#(cons(s(length(take(_x22, _x21))), V2))and#(and(isNat(_x22), isNatIList(_x21)), isNatList(V2))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, cons(s(length(_x71)), _x41))), _x21)))))), isNat(N)))and#(and(and(isNatList(_x71), isNatList(_x41)), isNatList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, nil)), _x21)))))), isNat(N)))and#(isNatList(_x21), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(length(nil), _x41))), _x21))))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(nil), cons(length(_x41), _x31))))))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(s(0)), _x41)))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))
isNatList#(cons(s(s(s(length(_x31)))), V2))and#(isNatList(_x31), isNatList(V2))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(0, take(_x62, _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(length(take(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatIList(_x31)), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(s(0), cons(length(cons(_x52, _x51)), _x21)))), isNat(N)))and#(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(s(s(length(_x21)))))), isNat(N)))and#(isNatList(_x21), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(0, cons(_x62, _x61))), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(take(length(_x81), _x71)))), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNatList(_x81), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(0, cons(length(take(_x52, _x51)), _x51))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(0), _x41))))), _x21)))), isNat(N)))and#(and(isNatIList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(0, cons(_x62, _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(s(length(_x51)), _x21)))), isNat(N)))and#(and(isNatList(_x51), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(cons(s(s(_x91)), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x91), isNatList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), cons(s(_x61), _x51)))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), _x31)))), isNat(N)))and#(isNatList(_x31), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(s(_x61), _x51)))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(0, _x41))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(s(length(take(0, _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(0, _x41))))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(0, take(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(length(cons(length(_x81), _x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNatList(_x81), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(take(0, _x51)), _x21)))))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(_x42, _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x42), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(0), take(0, nil)))))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(take(_x42, _x41))), _x21))))), isNat(N)))and#(and(and(isNat(_x42), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(0, _x21))))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(length(_x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(isNatList(_x71), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(0))), _x41))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(length(_x61), _x51)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(0), take(0, cons(_x22, _x21))))))), isNat(N)))and#(and(isNat(_x22), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(0, _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(isNatIList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), _x21))), isNat(N)))and#(isNatList(_x21), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(take(s(_x81), _x71)))), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNat(_x81), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
isNatIList#(cons(s(_x21), V2))and#(isNat(_x21), isNatIList(V2))isNatList#(cons(s(s(length(take(s(_x41), _x31)))), V2))and#(and(isNat(_x41), isNatIList(_x31)), isNatList(V2))

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The right-hand side of the rule T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(_x32, _x31)))))), isNat(N))) → and#(and(isNat(_x32), isNatList(_x31)), isNat(N)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(tt, isNatList(_x31)), isNat(N)) 
and#(and(isNat(_x41), isNatList(_x31)), isNat(N)) 
and#(and(isNatList(_x41), isNatList(_x31)), isNat(N)) 
Thus, the rule T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(_x32, _x31)))))), isNat(N))) → and#(and(isNat(_x32), isNatList(_x31)), isNat(N)) is replaced by the following rules:
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(s(_x41), _x31)))))), isNat(N))) → and#(and(isNat(_x41), isNatList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(0, _x31)))))), isNat(N))) → and#(and(tt, isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(length(_x41), _x31)))))), isNat(N))) → and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))

Problem 52: ForwardNarrowing

The right-hand side of the rule T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(cons(s(0), _x61))), _x41)))), _x21)))), isNat(N))) → and#(and(and(and(tt, isNatList(_x61)), isNatIList(_x41)), isNatIList(_x21)), isNat(N)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N)) 
Thus, the rule T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(cons(s(0), _x61))), _x41)))), _x21)))), isNat(N))) → and#(and(and(and(tt, isNatList(_x61)), isNatIList(_x41)), isNatIList(_x21)), isNat(N)) is replaced by the following rules:
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(cons(s(0), _x61))), _x41)))), _x21)))), isNat(N))) → and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))

Problem 53: ForwardNarrowing

The right-hand side of the rule T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(length(take(_x52, _x51)), _x21)))))), isNat(N))) → and#(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x21)), isNat(N)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(and(isNat(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N)) 
and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N)) 
and#(and(and(tt, isNatIList(_x51)), isNatIList(_x21)), isNat(N)) 
Thus, the rule T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(length(take(_x52, _x51)), _x21)))))), isNat(N))) → and#(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x21)), isNat(N)) is replaced by the following rules:
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(length(take(s(_x61), _x51)), _x21)))))), isNat(N))) → and#(and(and(isNat(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(length(take(0, _x51)), _x21)))))), isNat(N))) → and#(and(and(tt, isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(length(take(length(_x61), _x51)), _x21)))))), isNat(N))) → and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))

Problem 55: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

T(and(isNat(length(take(0, cons(length(take(0, cons(s(s(_x51)), _x51))), _x21)))), isNat(N)))and#(and(and(isNat(_x51), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(cons(length(cons(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatList(_x31)), isNatList(_x31)), isNat(N))
T(and(isNat(s(s(s(length(take(length(take(length(cons(_x52, _x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(cons(s(length(_x31)), _x31))), isNat(N)))and#(and(isNatList(_x31), isNatList(_x31)), isNat(N))
isNatList#(cons(s(s(length(take(length(take(_x32, _x31)), _x31)))), V2))and#(and(and(isNat(_x32), isNatIList(_x31)), isNatIList(_x31)), isNatList(V2))T(and(isNat(length(take(s(0), cons(length(take(s(length(_x51)), _x51)), _x21)))), isNat(N)))and#(and(and(isNatList(_x51), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(take(length(take(_x92, _x91)), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(and(isNat(_x92), isNatIList(_x91)), isNatIList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(0, nil)), nil)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(length(take(_x52, _x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatList(_x51)), isNatList(_x21)), isNat(N))isNatList#(cons(s(s(s(0))), V2))and#(tt, isNatList(V2))
T(and(isNat(s(s(0))), isNat(N)))and#(tt, isNat(N))T(and(isNat(s(s(length(take(length(cons(_x32, _x31)), _x31))))), isNat(N)))and#(and(and(isNat(_x32), isNatList(_x31)), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(s(0), zeros))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(s(0), cons(length(nil), cons(s(s(_x31)), _x31))))), isNat(N)))and#(and(isNat(_x31), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(nil), cons(s(length(_x31)), _x31))))), isNat(N)))and#(and(isNatList(_x31), isNatIList(_x31)), isNat(N))T(and(isNat(s(s(length(take(length(take(_x32, _x31)), _x31))))), isNat(N)))and#(and(and(isNat(_x32), isNatIList(_x31)), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(0, nil)), zeros)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(nil), cons(0, nil))))))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(take(s(0), _x51)), _x21)))))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(s(s(length(cons(s(s(_x51)), _x51)))), _x21)))), isNat(N)))and#(and(and(isNat(_x51), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(s(s(_x71)), _x71)), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x71), isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), nil))))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(s(s(_x31)), _x31))))), isNat(N)))and#(and(isNat(_x31), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, nil)), nil)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), zeros))))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(s(s(_x71)), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x71), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), nil)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(nil), zeros)))), zeros)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(s(length(_x31)), _x31)))), isNat(N)))and#(and(isNatList(_x31), isNatList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(length(take(s(s(_x71)), _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x71), isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(s(length(take(length(take(length(take(_x52, _x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(s(0), cons(0, cons(length(cons(_x32, _x31)), _x31))))))), isNat(N)))and#(and(and(isNat(_x32), isNatList(_x31)), isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(nil), cons(s(length(_x51)), _x51))))), _x21)))), isNat(N)))and#(and(and(isNatList(_x51), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(take(s(length(_x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(isNatList(_x51), isNatIList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(cons(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(length(cons(_x52, _x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(0), nil))))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(cons(length(take(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(s(s(0))))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(nil), cons(s(s(_x51)), _x51))))), _x21)))), isNat(N)))and#(and(and(isNat(_x51), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(cons(length(take(_x72, _x71)), _x71)))), _x41))), _x21))))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatIList(_x71)), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(s(0), cons(0, cons(s(_x41), _x31))))))), isNat(N)))and#(and(isNat(_x41), isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(length(take(length(nil), cons(_x62, _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatIList(_x61)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(s(length(nil)), _x41))))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(s(0)), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, zeros))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(nil))), _x41))), _x21))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))isNatList#(cons(s(0), V2))and#(tt, isNatList(V2))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, take(_x32, _x31)))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))T(and(isNat(length(cons(s(s(_x31)), _x31))), isNat(N)))and#(and(isNat(_x31), isNatList(_x31)), isNat(N))
isNatList#(cons(s(s(s(s(_x31)))), V2))and#(isNat(_x31), isNatList(V2))T(and(isNat(s(s(length(cons(s(0), cons(s(_x41), _x21)))))), isNat(N)))and#(and(isNat(_x41), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(s(0), _x51))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(s(0), _x31)))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), cons(length(nil), take(_x32, _x31)))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(nil), nil))), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(cons(_x82, _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x82), isNatList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))isNatList#(cons(s(s(length(take(length(nil), _x31)))), V2))and#(and(tt, isNatIList(_x31)), isNatList(V2))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(length(cons(_x62, _x61))), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatList(_x61)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(0, _x51)))), _x21)))))), isNat(N)))and#(and(isNatIList(_x51), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(length(nil))))), _x41))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), zeros))), zeros)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(s(s(length(_x71)))), _x41))))), _x21)))), isNat(N)))and#(and(and(isNatList(_x71), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(length(cons(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(0, _x41)))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(s(length(nil))))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, nil))))), isNat(N)))and#(tt, isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(length(nil), _x41))), _x21)))))), isNat(N)))and#(and(isNatIList(_x41), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(length(nil), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(isNatIList(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(nil), cons(s(_x41), _x31))))))), isNat(N)))and#(and(isNat(_x41), isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(nil)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(length(nil), _x51)), _x21)))))), isNat(N)))and#(and(isNatList(_x51), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(length(nil)), _x41))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), zeros)))), cons(length(_x41), _x31))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(nil), cons(0, take(_x22, _x21)))))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(length(take(s(length(_x71)), _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNatList(_x71), isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(length(take(_x62, _x61))), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatIList(_x61)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(take(0, _x61)))), _x41))), _x21))))), isNat(N)))and#(and(and(isNatList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(take(s(0), _x51)), _x21)))))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(cons(s(_x81), _x71)))), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNat(_x81), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, zeros))), _x21)))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(s(s(s(_x101))), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x101), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(nil), _x21)))), isNat(N)))and#(isNatIList(_x21), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(s(length(_x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), take(_x42, _x41)))), _x21)))), isNat(N)))and#(and(and(isNat(_x42), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(s(0)))), isNat(N)))and#(tt, isNat(N))
isNatList#(cons(s(length(cons(length(take(_x52, _x51)), _x21))), V2))and#(and(and(isNat(_x52), isNatIList(_x51)), isNatList(_x21)), isNatList(V2))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(take(0, cons(length(_x81), _x61))))), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNatList(_x81), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, nil)), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(length(take(length(cons(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatList(_x31)), isNatIList(_x31)), isNat(N))
T(and(isNat(s(s(s(s(s(_x21)))))), isNat(N)))and#(isNat(_x21), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(s(0))))), _x41))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(length(nil), _x31)))))), isNat(N)))and#(isNatList(_x31), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(s(length(_x51)), _x51))), _x21)))), isNat(N)))and#(and(and(isNatList(_x51), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(length(cons(s(length(_x111)), _x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(and(isNatList(_x111), isNatList(_x111)), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(s(0)), _x21))))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
isNatIList#(cons(length(cons(_x32, _x31)), V2))and#(and(isNat(_x32), isNatList(_x31)), isNatIList(V2))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), zeros)))), cons(s(_x41), _x31))))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(length(take(_x62, _x61))), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNat(_x62), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(s(_x41), _x21)))))), isNat(N)))and#(and(isNat(_x41), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(nil), zeros)))), cons(_x32, _x31))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(0, nil)), cons(_x32, _x31))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(nil), cons(0, _x31))))), isNat(N)))and#(and(tt, isNatIList(_x31)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(0, cons(length(nil), _x51))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(length(cons(_x52, _x51)), _x51))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(s(0), _x51)), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(nil), zeros)))), _x31)))), isNat(N)))and#(isNatList(_x31), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, zeros))))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(s(length(take(length(_x81), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNatList(_x81), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(cons(length(_x81), _x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNatList(_x81), isNatList(_x61)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(s(s(0)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNatIList(_x81), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(take(length(nil), _x51)), _x21)))))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(s(s(length(nil)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(length(cons(s(_x81), _x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x81), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
isNatList#(cons(s(s(length(take(0, _x31)))), V2))and#(isNatIList(_x31), isNatList(V2))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(0), _x41)))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, cons(s(0), _x41))), _x21)))))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(s(0), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(cons(0, _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(tt, isNatList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(_x41), _x31)))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), nil)), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(nil), cons(length(_x41), _x31))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(length(_x41), _x31))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(0, nil)), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), zeros))), nil)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(length(cons(_x72, _x71)), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatList(_x71)), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(length(cons(_x32, _x31)), _x31)))))), isNat(N)))and#(and(and(isNat(_x32), isNatList(_x31)), isNatList(_x31)), isNat(N))T(and(isNat(s(s(s(length(take(length(nil), _x21)))))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(s(s(s(_x71)))), _x41))))), _x21)))), isNat(N)))and#(and(and(isNat(_x71), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(s(length(take(s(_x81), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x81), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), nil))), zeros)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(cons(length(nil), take(_x42, _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x42), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(length(nil), cons(s(_x41), _x21)))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, take(0, _x51))), _x21)))), isNat(N)))and#(and(isNatIList(_x51), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(nil), _x21)))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(cons(_x72, _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x72), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(s(s(_x51)), _x21)))), isNat(N)))and#(and(isNat(_x51), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(s(0), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(isNatIList(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(length(_x41), _x31))))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))isNatIList#(cons(0, V2))and#(tt, isNatIList(V2))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, cons(s(s(0)), _x41)))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(length(_x61), _x41)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(length(_x61), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(nil), cons(s(0), _x51))))), _x21)))), isNat(N)))and#(and(isNatIList(_x51), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(s(s(_x31)), _x31)))), isNat(N)))and#(and(isNat(_x31), isNatList(_x31)), isNat(N))T(and(isNat(length(take(s(length(_x31)), _x31))), isNat(N)))and#(and(isNatList(_x31), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), zeros)))), zeros)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(0, _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNatIList(_x81), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, cons(s(s(s(s(_x71)))), _x41)))), _x21)))), isNat(N)))and#(and(and(isNat(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(s(_x61), _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x61), isNatList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(length(cons(s(0), _x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(and(tt, isNatList(_x111)), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(length(cons(0, _x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, nil)), cons(0, _x21))))), isNat(N)))and#(isNatList(_x21), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, cons(length(_x61), _x41)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(0, _x61)), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(s(_x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x91), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), nil))), _x21)))), isNat(N)))and#(isNatIList(_x21), isNat(N))T(and(isNat(s(s(length(cons(0, take(_x22, _x21)))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(s(length(take(length(cons(_x52, _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(length(_x61), _x51)))), _x21)))))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(s(length(_x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNatList(_x111), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, cons(s(s(s(length(_x71)))), _x41)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(take(s(s(_x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x51), isNatIList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(cons(length(nil), _x71)))), _x41))), _x21))))), isNat(N)))and#(and(and(and(tt, isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(length(_x61))), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(_x32, _x31)))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))
T(and(isNat(s(s(length(take(s(0), _x31))))), isNat(N)))and#(and(tt, isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(0, cons(_x52, _x51)))), _x21))))), isNat(N)))and#(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(s(_x41), _x21)))))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(take(length(nil), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNatIList(_x91), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(length(take(_x62, _x61))), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(s(0), cons(_x62, _x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatIList(_x61)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(s(_x61), _x41)))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(length(_x71)))), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))
isNatList#(cons(s(length(cons(0, _x21))), V2))and#(and(tt, isNatList(_x21)), isNatList(V2))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(s(0), take(_x52, _x51))))), _x21)))))), isNat(N)))and#(and(and(isNat(_x52), isNatIList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(0), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(s(length(_x71)), _x71)), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNatList(_x71), isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, cons(s(0), _x41)))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), zeros))), cons(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(s(s(_x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(cons(s(0), _x31))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(_x52, _x51))))), _x21)))), isNat(N)))and#(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(length(nil), cons(_x42, _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x42), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, take(s(0), _x51))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(length(nil), cons(length(_x41), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(s(0), _x21)))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(0, zeros)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(length(take(s(0), _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(cons(length(nil), _x31))), isNat(N)))and#(isNatList(_x31), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(nil), nil)))))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(cons(length(nil), nil)), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(length(cons(0, _x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNatList(_x111), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(0)), _x41))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(s(s(_x51)), _x51)))), _x21)))))), isNat(N)))and#(and(and(isNat(_x51), isNatIList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(length(nil)), _x41))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(s(_x71)), _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x71), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(0), _x41))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(take(s(length(_x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(isNatList(_x51), isNatIList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(s(_x61), _x51)), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(cons(_x72, _x71)), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x72), isNatList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(s(s(length(cons(length(nil), _x51)))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(0, _x41)))), _x21)))), isNat(N)))and#(and(isNatIList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(0, take(_x52, _x51)))), _x21))))), isNat(N)))and#(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(s(length(take(length(take(s(_x61), _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(nil)), _x31))))), isNat(N)))and#(isNatList(_x31), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(s(length(_x71)), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNatList(_x71), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(take(length(cons(_x52, _x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x51)), isNatList(_x21)), isNat(N))
and#(tt, X)T(X)T(and(isNat(length(take(s(0), cons(length(take(0, nil)), take(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(take(s(s(_x91)), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x91), isNatIList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(take(s(length(_x91)), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNatList(_x91), isNatIList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(0), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), cons(length(take(_x52, _x51)), _x51)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(s(s(length(cons(0, _x51)))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), cons(length(nil), cons(0, _x31)))))), isNat(N)))and#(isNatList(_x31), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(length(cons(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(s(s(_x31)), _x31))))), isNat(N)))and#(and(isNat(_x31), isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), zeros)))), take(length(_x41), _x21))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(take(s(0), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(tt, isNatIList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
isNatIList#(cons(length(take(_x32, _x31)), V2))and#(and(isNat(_x32), isNatIList(_x31)), isNatIList(V2))T(and(isNat(length(take(s(0), cons(length(take(s(0), _x51)), _x21)))), isNat(N)))and#(and(isNatIList(_x51), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(0, nil)))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(nil), cons(_x52, _x51)))), _x21)))), isNat(N)))and#(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, nil))))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(length(take(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
isNatList#(cons(s(s(0)), V2))and#(tt, isNatList(V2))T(and(isNat(length(take(0, cons(length(take(0, take(s(s(_x51)), _x51))), _x21)))), isNat(N)))and#(and(and(isNat(_x51), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), zeros))), cons(0, _x31))))), isNat(N)))and#(isNatIList(_x31), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(cons(s(s(_x91)), _x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x91), isNatList(_x61)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(0), cons(0, nil)))))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), zeros)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), nil))), cons(_x32, _x31))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, nil))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(s(0), _x61)), _x41)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(s(length(_x51)), _x51)), _x21)))), isNat(N)))and#(and(and(isNatList(_x51), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(nil), cons(0, cons(length(_x41), _x21)))))))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(cons(s(length(_x91)), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNatList(_x91), isNatList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), cons(length(nil), cons(s(_x41), _x31)))))), isNat(N)))and#(and(isNat(_x41), isNatList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(0, zeros)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(take(length(cons(_x92, _x91)), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(and(isNat(_x92), isNatList(_x91)), isNatIList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), zeros)))), isNat(N)))and#(tt, isNat(N))
isNatList#(cons(s(length(cons(s(0), _x21))), V2))and#(isNatList(_x21), isNatList(V2))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(length(take(_x72, _x71)), _x71)), _x41))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatIList(_x71)), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(0, _x31)))))), isNat(N)))and#(isNatList(_x31), isNat(N))T(and(isNat(length(take(0, cons(0, nil)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(s(s(0)), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), cons(length(cons(_x52, _x51)), _x21))))), isNat(N)))and#(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(take(_x72, _x71)), _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatIList(_x71)), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(length(take(_x32, _x31)), _x31)))))), isNat(N)))and#(and(and(isNat(_x32), isNatIList(_x31)), isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(length(take(length(nil), _x61)), _x41))))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(take(s(length(_x31)), _x31))))), isNat(N)))and#(and(isNatList(_x31), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(length(take(0, _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(s(_x31)), _x31))), isNat(N)))and#(and(isNat(_x31), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), zeros)))), take(0, _x21))))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(s(0), zeros)), _x41)))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, cons(s(length(take(_x62, _x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(s(0), cons(0, cons(0, _x31))))))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(s(s(_x41))), _x21))))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(0, zeros)), _x41))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, take(_x32, _x31)))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), zeros)))), take(s(_x41), _x21))))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(0, take(_x52, _x51))), _x21)))), isNat(N)))and#(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(s(length(_x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(s(s(length(take(_x52, _x51)))), _x21)))), isNat(N)))and#(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(length(take(_x52, _x51)), _x51))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(s(length(_x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(0, zeros)))), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(length(nil), _x51))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(s(0), take(0, take(_x22, _x21))))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, zeros)), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, take(length(_x61), _x41))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), cons(_x62, _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(length(nil), _x51)), _x21)))), isNat(N)))and#(and(isNatIList(_x51), isNatIList(_x21)), isNat(N))
isNatList#(cons(s(length(cons(length(nil), _x21))), V2))and#(and(tt, isNatList(_x21)), isNatList(V2))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, _x51))), _x21)))))), isNat(N)))and#(and(isNatList(_x51), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(0, take(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(0, cons(s(_x61), _x51))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(s(_x61))), _x41))), _x21))))), isNat(N)))and#(and(and(isNat(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(s(s(length(nil))), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(nil), cons(0, cons(s(length(_x51)), _x21)))))))), isNat(N)))and#(and(isNatList(_x51), isNatList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(s(0), cons(_x42, _x41))))), _x21)))))), isNat(N)))and#(and(and(isNat(_x42), isNatIList(_x41)), isNatList(_x21)), isNat(N))
T(and(isNat(s(s(length(take(0, _x31))))), isNat(N)))and#(isNatIList(_x31), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(nil)), zeros))))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), zeros)), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(take(0, cons(0, _x71))))), _x41))), _x21))))), isNat(N)))and#(and(and(isNatList(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(0), cons(0, take(_x32, _x31))))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(0, _x41))), _x21)))), isNat(N)))and#(and(isNatIList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(nil), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(isNatIList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(nil), _x31)))), isNat(N)))and#(isNatList(_x31), isNat(N))
T(and(isNat(s(s(length(cons(s(0), take(s(_x41), _x21)))))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), take(_x22, _x21)))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(length(take(_x72, _x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x72), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(take(length(nil), _x31))))), isNat(N)))and#(isNatIList(_x31), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(s(_x61), _x41))), _x21)))))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x41)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(0, _x71)), _x41)))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(length(cons(length(_x121), _x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(and(isNatList(_x121), isNatList(_x111)), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(s(length(_x51)), _x21)))))), isNat(N)))and#(and(isNatList(_x51), isNatList(_x21)), isNat(N))
isNatList#(cons(0, V2))and#(tt, isNatList(V2))T(and(isNat(s(0)), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(length(nil), _x21))), isNat(N)))and#(isNatList(_x21), isNat(N))T(and(isNat(s(s(s(length(take(s(_x41), _x21)))))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), cons(0, _x51)))), _x21)))), isNat(N)))and#(and(isNatList(_x51), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(s(length(take(0, _x21)))))), isNat(N)))and#(isNatIList(_x21), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), cons(length(cons(_x52, _x51)), _x51)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(s(length(_x31))), isNat(N)))and#(isNatList(_x31), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(cons(0, _x71)))), _x41))), _x21))))), isNat(N)))and#(and(and(and(tt, isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))isNatList#(cons(s(length(nil)), V2))and#(tt, isNatList(V2))
T(and(isNat(s(s(length(cons(0, cons(length(take(0, _x51)), _x21)))))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatList(_x21)), isNat(N))isNatIList#(cons(length(nil), V2))and#(tt, isNatIList(V2))
T(and(isNat(length(nil)), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(s(0), cons(length(take(length(take(_x52, _x51)), _x51)), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(s(s(_x51)), _x51)), _x21)))), isNat(N)))and#(and(and(isNat(_x51), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(nil), cons(0, _x51))))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(0, nil)), cons(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatList(_x21)), isNat(N))T(and(x_1, x_2))T(x_1)
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(cons(_x52, _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(cons(length(_x101), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNatList(_x101), isNatList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(nil), cons(length(_x61), _x51))))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(length(cons(_x62, _x61))), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(0), cons(length(_x41), _x21)))))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(take(0, cons(s(_x81), _x61))))), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNat(_x81), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(take(0, zeros)))), _x41))), _x21))))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), zeros)))), nil)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), cons(length(nil), _x51)))), _x21)))), isNat(N)))and#(and(isNatList(_x51), isNatIList(_x21)), isNat(N))isNatList#(cons(s(s(length(nil))), V2))and#(tt, isNatList(V2))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(s(s(0))), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(cons(s(0), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(tt, isNatList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(length(nil), _x21)))))), isNat(N)))and#(isNatIList(_x21), isNat(N))isNatList#(cons(s(s(length(cons(_x32, _x31)))), V2))and#(and(isNat(_x32), isNatList(_x31)), isNatList(V2))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(s(length(cons(_x62, _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(nil), cons(0, cons(s(s(_x51)), _x21)))))))), isNat(N)))and#(and(isNat(_x51), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(length(take(s(_x61), _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, take(0, _x41))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(0), take(0, zeros)))))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(cons(length(cons(_x72, _x71)), _x71)))), _x41))), _x21))))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatList(_x71)), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), cons(0, _x21))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), cons(s(_x41), _x21))))), isNat(N)))and#(and(isNat(_x41), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(length(cons(_x72, _x71)), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNat(_x72), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(length(nil), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(x_1, x_2))T(x_2)T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(s(length(_x51)), _x51)))), _x21)))))), isNat(N)))and#(and(and(isNatList(_x51), isNatIList(_x51)), isNatList(_x21)), isNat(N))
isNatList#(cons(s(s(length(take(length(cons(_x32, _x31)), _x31)))), V2))and#(and(and(isNat(_x32), isNatList(_x31)), isNatIList(_x31)), isNatList(V2))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(0), _x41))), _x21))))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(s(s(length(cons(s(length(_x51)), _x51)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x51), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), zeros)))), cons(0, _x31))))), isNat(N)))and#(isNatIList(_x31), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), zeros))), take(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))isNatList#(cons(s(length(cons(s(length(_x51)), _x21))), V2))and#(and(isNatList(_x51), isNatList(_x21)), isNatList(V2))
T(and(isNat(length(take(0, cons(0, _x31)))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), zeros)))), cons(length(_x41), _x21))))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(length(_x31)), _x31))))), isNat(N)))and#(and(isNatList(_x31), isNatList(_x31)), isNat(N))T(isNat(x_1))T(x_1)
T(and(isNat(length(take(s(0), cons(length(take(0, zeros)), _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(0)), _x41))), _x21))))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(take(0, _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(tt, isNatIList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(s(0), nil)))), _x21)))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, nil)), take(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(take(s(s(_x31)), _x31))))), isNat(N)))and#(and(isNat(_x31), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(nil)), cons(_x32, _x31)))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(0, _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(take(0, cons(0, zeros))))), _x41))), _x21))))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(0, cons(length(cons(_x52, _x51)), _x51))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), cons(length(nil), nil))))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, take(s(_x61), _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(take(0, cons(0, cons(_x72, _x71)))))), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNat(_x72), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(0, cons(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(s(s(length(cons(length(take(_x52, _x51)), _x51)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(length(take(_x72, _x71)), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNat(_x72), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
isNatList#(cons(s(length(cons(s(s(_x51)), _x21))), V2))and#(and(isNat(_x51), isNatList(_x21)), isNatList(V2))T(and(isNat(length(take(s(0), cons(s(0), zeros)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(s(s(length(cons(length(cons(_x52, _x51)), _x51)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(0, nil))), _x21))))), isNat(N)))and#(isNatIList(_x21), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(length(cons(_x52, _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), take(length(_x61), _x51)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(length(nil), cons(0, _x21)))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, nil)), cons(s(_x41), _x21))))), isNat(N)))and#(and(isNat(_x41), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(length(take(0, cons(_x42, _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x42), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), zeros))), cons(length(_x41), _x31))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x31)), isNat(N))
isNatList#(cons(length(_x21), V2))and#(isNatList(_x21), isNatList(V2))T(and(isNat(length(take(s(0), cons(0, cons(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(length(nil), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNatIList(_x81), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(s(length(take(length(take(0, _x51)), _x21)))))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(s(0), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(nil), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(cons(0, _x31))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), cons(length(nil), cons(length(_x41), _x31)))))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(take(length(take(_x52, _x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(nil), cons(0, cons(s(0), _x21)))))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, nil)), cons(length(_x41), _x21))))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(0, cons(_x32, _x31))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(s(0), cons(_x52, _x51))))), _x21)))))), isNat(N)))and#(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(length(take(length(cons(_x72, _x71)), _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatList(_x71)), isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(0, _x21)))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(s(0), cons(0, cons(length(nil), _x31))))))), isNat(N)))and#(and(tt, isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, take(s(length(_x51)), _x51))), _x21)))), isNat(N)))and#(and(and(isNatList(_x51), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, cons(s(s(s(0))), _x41)))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(s(0), _x31))))), isNat(N)))and#(and(tt, isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(take(length(_x81), _x71)), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNatList(_x81), isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(s(s(_x51)), _x21)))))), isNat(N)))and#(and(isNat(_x51), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(length(cons(_x72, _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x72), isNatList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), nil))), _x31)))), isNat(N)))and#(isNatList(_x31), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, cons(s(length(nil)), _x41)))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(s(length(_x31)), _x31))))), isNat(N)))and#(and(isNatList(_x31), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), cons(_x32, _x31))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(0, _x21)))))), isNat(N)))and#(isNatList(_x21), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, cons(0, _x41)))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(length(take(length(_x61), _x51)), _x21)))))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(nil), take(_x32, _x31))))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(0, cons(_x42, _x41))))), _x21)))), isNat(N)))and#(and(and(isNat(_x42), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, nil)), cons(_x32, _x31))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(s(_x81), _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x81), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(s(s(_x51)), _x51)), _x21)))), isNat(N)))and#(and(and(isNat(_x51), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, cons(s(s(_x71)), _x41))), _x21)))))), isNat(N)))and#(and(and(isNat(_x71), isNatList(_x41)), isNatList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(s(0), take(0, cons(_x32, _x31))))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))
T(and(isNat(s(s(s(length(take(length(take(length(nil), _x51)), _x21)))))), isNat(N)))and#(and(isNatIList(_x51), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(length(nil), _x51)))), _x21)))), isNat(N)))and#(and(isNatList(_x51), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, cons(length(_x61), _x41))), _x21)))))), isNat(N)))and#(and(and(isNatList(_x61), isNatList(_x41)), isNatList(_x21)), isNat(N))isNatList#(cons(s(length(cons(length(cons(_x52, _x51)), _x21))), V2))and#(and(and(isNat(_x52), isNatList(_x51)), isNatList(_x21)), isNatList(V2))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(s(s(_x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(isNat(_x71), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(0, cons(0, _x51))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(cons(0, _x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(length(take(_x72, _x71)), _x41))), _x21)))))), isNat(N)))and#(and(and(and(isNat(_x72), isNatIList(_x71)), isNatIList(_x41)), isNatList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, cons(0, _x41))), _x21)))))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), cons(length(take(_x52, _x51)), _x21))))), isNat(N)))and#(and(and(isNat(_x52), isNatIList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, cons(s(s(length(_x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(cons(_x72, _x71)), _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatList(_x71)), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(length(cons(_x62, _x61))), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNat(_x62), isNatList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(length(_x41), _x21))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), take(s(_x61), _x51)))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(nil), zeros)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(length(take(0, _x51)), _x21)))))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(cons(length(take(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatIList(_x31)), isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(0, _x21)))))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(0, cons(s(0), zeros)))), _x21)))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(cons(s(0), _x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(length(take(_x112, _x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(and(isNat(_x112), isNatIList(_x111)), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(s(0), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNatIList(_x81), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(s(s(_x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(take(_x72, _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x72), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, nil)), zeros)))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), zeros)))), cons(0, _x21))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, cons(s(length(cons(_x62, _x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(length(nil), take(_x52, _x51)))), _x21)))), isNat(N)))and#(and(and(isNat(_x52), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(take(length(_x61), _x51)), _x21)))))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, take(length(_x61), _x51))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(length(nil)), _x41))), _x21))))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(0, cons(_x32, _x31))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(s(0), cons(length(nil), cons(s(0), _x31))))), isNat(N)))and#(and(tt, isNatIList(_x31)), isNat(N))
T(and(isNat(s(s(s(length(cons(_x22, _x21)))))), isNat(N)))and#(and(isNat(_x22), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), take(0, _x51)))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(s(s(length(cons(s(0), _x51)))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x51)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(s(length(_x41))), _x21))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(take(_x62, _x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatIList(_x61)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(length(cons(s(s(_x111)), _x111)), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(and(isNat(_x111), isNatList(_x111)), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(0), take(length(_x41), _x21)))))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), _x41)), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(length(take(length(take(_x72, _x71)), _x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x72), isNatIList(_x71)), isNatIList(_x71)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))isNatList#(cons(s(length(take(_x22, _x21))), V2))and#(and(isNat(_x22), isNatIList(_x21)), isNatList(V2))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, cons(s(length(_x71)), _x41))), _x21)))))), isNat(N)))and#(and(and(isNatList(_x71), isNatList(_x41)), isNatList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(0, cons(length(cons(0, nil)), _x21)))))), isNat(N)))and#(isNatList(_x21), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(take(s(s(_x51)), _x51)), _x21)))))), isNat(N)))and#(and(and(isNat(_x51), isNatIList(_x51)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(length(nil), _x41))), _x21))))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), zeros))), cons(s(_x41), _x31))))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(nil), cons(length(_x41), _x31))))))), isNat(N)))and#(and(isNatList(_x41), isNatList(_x31)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(s(0)), _x41)))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))isNatList#(cons(s(s(s(length(_x31)))), V2))and#(isNatList(_x31), isNatList(V2))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(0, take(_x62, _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(length(take(_x32, _x31)), _x31))), isNat(N)))and#(and(and(isNat(_x32), isNatIList(_x31)), isNatIList(_x31)), isNat(N))
T(and(isNat(s(s(length(cons(0, cons(length(cons(0, take(length(cons(_x72, _x71)), _x41))), _x21)))))), isNat(N)))and#(and(and(and(isNat(_x72), isNatList(_x71)), isNatIList(_x41)), isNatList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(cons(_x52, _x51)), _x21)))), isNat(N)))and#(and(and(isNat(_x52), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(length(nil), zeros))), isNat(N)))and#(tt, isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), zeros)))), cons(s(_x41), _x21))))), isNat(N)))and#(and(isNat(_x41), isNatList(_x21)), isNat(N))
T(and(isNat(s(s(s(s(length(_x21)))))), isNat(N)))and#(isNatList(_x21), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(length(take(0, cons(_x62, _x61))), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(take(length(_x81), _x71)))), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNatList(_x81), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), cons(length(take(0, cons(length(take(_x52, _x51)), _x51))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x52), isNatIList(_x51)), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), cons(0, cons(s(_x41), _x31)))))), isNat(N)))and#(and(isNat(_x41), isNatList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(0), _x41))))), _x21)))), isNat(N)))and#(and(isNatIList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(0, cons(_x62, _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(isNat(_x62), isNatList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(s(length(_x51)), _x21)))), isNat(N)))and#(and(isNatList(_x51), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(length(cons(s(s(_x91)), _x91)), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNat(_x91), isNatList(_x91)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(0)))), cons(s(_x61), _x51)))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), nil)))), _x31)))), isNat(N)))and#(isNatList(_x31), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(s(_x61), _x51)))), _x21)))), isNat(N)))and#(and(and(isNat(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(nil), cons(0, cons(0, _x21)))))))), isNat(N)))and#(and(tt, isNatList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(s(length(take(0, _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(tt, isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(0, _x41))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(0, _x41))))), _x21)))), isNat(N)))and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(s(0), cons(0, take(_x22, _x21))))), isNat(N)))and#(and(isNat(_x22), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(length(take(length(nil), zeros)), _x41))))), _x21)))), isNat(N)))and#(and(and(tt, isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(s(s(s(_x41))), _x21)))), isNat(N)))and#(and(isNat(_x41), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(take(0, _x51)), _x21)))))), isNat(N)))and#(and(and(tt, isNatIList(_x51)), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(s(length(cons(length(_x81), _x71)))))), _x41))), _x21)))), isNat(N)))and#(and(and(and(isNatList(_x81), isNatList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(_x42, _x41))), _x21)))), isNat(N)))and#(and(and(isNat(_x42), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(take(_x42, _x41))), _x21))))), isNat(N)))and#(and(and(isNat(_x42), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(s(0), take(0, nil)))))), isNat(N)))and#(tt, isNat(N))
T(and(isNat(length(take(s(0), cons(s(length(_x51)), _x21)))), isNat(N)))and#(and(isNatList(_x51), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(s(length(take(s(s(length(_x101))), _x81))), _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(and(and(isNatList(_x101), isNatIList(_x81)), isNatIList(_x61)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(0, _x21))))), isNat(N)))and#(and(tt, isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), take(s(length(_x71)), _x41))))), _x21)))), isNat(N)))and#(and(and(isNatList(_x71), isNatIList(_x41)), isNatIList(_x21)), isNat(N))
T(and(isNat(s(s(length(cons(s(0), cons(0, cons(length(take(_x32, _x31)), _x31))))))), isNat(N)))and#(and(and(isNat(_x32), isNatIList(_x31)), isNatList(_x31)), isNat(N))T(and(isNat(length(take(s(0), cons(s(0), _x31)))), isNat(N)))and#(isNatList(_x31), isNat(N))
T(and(isNat(length(take(s(0), cons(s(0), cons(_x32, _x31))))), isNat(N)))and#(and(isNat(_x32), isNatIList(_x31)), isNat(N))T(and(isNat(length(take(0, cons(length(take(length(nil), cons(s(0), cons(length(_x61), _x51)))), _x21)))), isNat(N)))and#(and(and(isNatList(_x61), isNatIList(_x51)), isNatIList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(cons(0, cons(s(s(s(0))), _x41))), _x21)))), isNat(N)))and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(s(s(length(cons(s(0), take(0, cons(_x22, _x21))))))), isNat(N)))and#(and(isNat(_x22), isNatList(_x21)), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(cons(s(length(_x91)), _x61))), _x41)))), _x21)))), isNat(N)))and#(and(and(and(isNatList(_x91), isNatList(_x61)), isNatIList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(s(0), _x21))), isNat(N)))and#(isNatList(_x21), isNat(N))
T(and(isNat(length(take(0, cons(length(take(0, cons(0, take(s(length(nil)), cons(length(cons(length(nil), take(0, _x61))), _x41))))), _x21)))), isNat(N)))and#(and(and(isNatIList(_x61), isNatList(_x41)), isNatIList(_x21)), isNat(N))T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(length(cons(s(s(length(take(s(_x81), _x71)))), _x41))), _x21))))), isNat(N)))and#(and(and(and(isNat(_x81), isNatIList(_x71)), isNatList(_x41)), isNatIList(_x21)), isNat(N))
isNatIList#(cons(s(_x21), V2))and#(isNat(_x21), isNatIList(V2))isNatList#(cons(s(s(length(take(s(_x41), _x31)))), V2))and#(and(isNat(_x41), isNatIList(_x31)), isNatList(V2))

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The right-hand side of the rule T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(take(s(0), _x51)), _x21)))))), isNat(N))) → and#(and(and(tt, isNatIList(_x51)), isNatList(_x21)), isNat(N)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(isNatIList(_x51), isNatList(_x21)), isNat(N)) 
Thus, the rule T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(take(s(0), _x51)), _x21)))))), isNat(N))) → and#(and(and(tt, isNatIList(_x51)), isNatList(_x21)), isNat(N)) is replaced by the following rules:
T(and(isNat(length(take(0, cons(length(take(0, cons(0, nil))), take(s(0), cons(length(take(s(0), _x51)), _x21)))))), isNat(N))) → and#(and(isNatIList(_x51), isNatList(_x21)), isNat(N))

Problem 57: ForwardNarrowing

The right-hand side of the rule T(and(isNat(length(take(0, cons(length(take(0, cons(s(0), cons(s(s(0)), _x41)))), _x21)))), isNat(N))) → and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N)) 
Thus, the rule T(and(isNat(length(take(0, cons(length(take(0, cons(s(0), cons(s(s(0)), _x41)))), _x21)))), isNat(N))) → and#(and(and(tt, isNatList(_x41)), isNatIList(_x21)), isNat(N)) is replaced by the following rules:
T(and(isNat(length(take(0, cons(length(take(0, cons(s(0), cons(s(s(0)), _x41)))), _x21)))), isNat(N))) → and#(and(isNatList(_x41), isNatIList(_x21)), isNat(N))

Problem 11: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

T(isNatIList(V2))isNatIList#(V2)and#(isNatList(nil), X)T(X)
T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))isNatList#(cons(V1, V2))and#(isNat(V1), isNatList(V2))
and#(and(tt, tt), X)T(X)T(isNat(x_1))T(x_1)
T(and(x_1, x_2))T(x_1)T(and(x_1, x_2))T(x_2)
isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))and#(isNat(0), X)T(X)
and#(isNatIList(zeros), X)T(X)T(isNatList(V2))isNatList#(V2)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule and#(isNatList(nil), X) → T(X) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(isNat(length(nil)), X) 
and#(and(tt, isNatList(nil)), X) 
and#(isNatIList(nil), X) 
Thus, the rule and#(isNatList(nil), X) → T(X) is replaced by the following rules:
and#(and(tt, isNatList(nil)), X) → T(X)and#(isNat(length(nil)), X) → T(X)
and#(isNatIList(nil), X) → T(X)

Problem 14: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))isNatList#(cons(V1, V2))and#(isNat(V1), isNatList(V2))
and#(and(tt, isNatList(nil)), X)T(X)T(and(x_1, x_2))T(x_1)
T(isNat(x_1))T(x_1)isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
and#(isNat(length(nil)), X)T(X)and#(isNat(0), X)T(X)
and#(isNatIList(nil), X)T(X)T(isNatList(V2))isNatList#(V2)
T(isNatIList(V2))isNatIList#(V2)and#(and(tt, tt), X)T(X)
T(and(x_1, x_2))T(x_2)and#(isNatIList(zeros), X)T(X)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule isNatList#(cons(V1, V2)) → and#(isNat(V1), isNatList(V2)) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
Thus, the rule isNatList#(cons(V1, V2)) → and#(isNat(V1), isNatList(V2)) is deleted.

Problem 17: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))and#(and(tt, isNatList(nil)), X)T(X)
T(and(x_1, x_2))T(x_1)T(isNat(x_1))T(x_1)
isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))and#(isNat(length(nil)), X)T(X)
and#(isNat(0), X)T(X)and#(isNatIList(nil), X)T(X)
T(isNatList(V2))isNatList#(V2)T(isNatIList(V2))isNatIList#(V2)
and#(and(tt, tt), X)T(X)T(and(x_1, x_2))T(x_2)
and#(isNatIList(zeros), X)T(X)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule and#(and(tt, isNatList(nil)), X) → T(X) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(and(tt, tt), isNatList(nil)), X) 
and#(and(isNatIList(zeros), isNatList(nil)), X) 
and#(and(isNatList(nil), isNatList(nil)), X) 
and#(and(isNat(0), isNatList(nil)), X) 
and#(and(tt, and(tt, isNatList(nil))), X) 
Thus, the rule and#(and(tt, isNatList(nil)), X) → T(X) is replaced by the following rules:
and#(and(tt, and(tt, isNatList(nil))), X) → T(X)and#(and(isNatList(nil), isNatList(nil)), X) → T(X)
and#(and(and(tt, tt), isNatList(nil)), X) → T(X)and#(and(isNatIList(zeros), isNatList(nil)), X) → T(X)
and#(and(isNat(0), isNatList(nil)), X) → T(X)

Problem 18: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

and#(and(tt, and(tt, isNatList(nil))), X)T(X)T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))
T(and(x_1, x_2))T(x_1)T(isNat(x_1))T(x_1)
and#(and(isNatIList(zeros), isNatList(nil)), X)T(X)isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
and#(isNat(length(nil)), X)T(X)and#(isNat(0), X)T(X)
and#(isNatIList(nil), X)T(X)T(isNatList(V2))isNatList#(V2)
T(isNatIList(V2))isNatIList#(V2)and#(and(isNatList(nil), isNatList(nil)), X)T(X)
and#(and(tt, tt), X)T(X)and#(and(and(tt, tt), isNatList(nil)), X)T(X)
T(and(x_1, x_2))T(x_2)and#(isNatIList(zeros), X)T(X)
and#(and(isNat(0), isNatList(nil)), X)T(X)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule and#(and(tt, and(tt, isNatList(nil))), X) → T(X) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(isNat(0), and(tt, isNatList(nil))), X) 
and#(and(and(tt, tt), and(tt, isNatList(nil))), X) 
and#(and(tt, and(tt, and(tt, isNatList(nil)))), X) 
and#(and(isNatList(nil), and(tt, isNatList(nil))), X) 
and#(and(isNatIList(zeros), and(tt, isNatList(nil))), X) 
Thus, the rule and#(and(tt, and(tt, isNatList(nil))), X) → T(X) is replaced by the following rules:
and#(and(and(tt, tt), and(tt, isNatList(nil))), X) → T(X)and#(and(isNatList(nil), and(tt, isNatList(nil))), X) → T(X)
and#(and(tt, and(tt, and(tt, isNatList(nil)))), X) → T(X)and#(and(isNatIList(zeros), and(tt, isNatList(nil))), X) → T(X)
and#(and(isNat(0), and(tt, isNatList(nil))), X) → T(X)

Problem 23: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))and#(and(isNatIList(zeros), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(tt, isNatList(nil))), X)T(X)T(and(x_1, x_2))T(x_1)
T(isNat(x_1))T(x_1)and#(and(isNatIList(zeros), isNatList(nil)), X)T(X)
isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))and#(isNat(length(nil)), X)T(X)
and#(isNat(0), X)T(X)and#(isNatIList(nil), X)T(X)
T(isNatList(V2))isNatList#(V2)T(isNatIList(V2))isNatIList#(V2)
and#(and(and(tt, tt), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), isNatList(nil)), X)T(X)and#(and(tt, and(tt, and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, tt), X)T(X)and#(and(and(tt, tt), isNatList(nil)), X)T(X)
T(and(x_1, x_2))T(x_2)and#(isNatIList(zeros), X)T(X)
and#(and(isNat(0), isNatList(nil)), X)T(X)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule and#(and(isNatIList(zeros), and(tt, isNatList(nil))), X) → T(X) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(tt, and(isNatIList(zeros), and(tt, isNatList(nil)))), X) 
and#(and(and(tt, isNatIList(zeros)), and(tt, isNatList(nil))), X) 
Thus, the rule and#(and(isNatIList(zeros), and(tt, isNatList(nil))), X) → T(X) is replaced by the following rules:
and#(and(and(tt, isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X)and#(and(tt, and(isNatIList(zeros), and(tt, isNatList(nil)))), X) → T(X)

Problem 26: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))and#(and(and(tt, isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(tt, isNatList(nil))), X)T(X)T(and(x_1, x_2))T(x_1)
T(isNat(x_1))T(x_1)and#(and(isNatIList(zeros), isNatList(nil)), X)T(X)
isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))and#(isNat(length(nil)), X)T(X)
and#(isNat(0), X)T(X)and#(isNatIList(nil), X)T(X)
T(isNatList(V2))isNatList#(V2)T(isNatIList(V2))isNatIList#(V2)
and#(and(and(tt, tt), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), isNatList(nil)), X)T(X)and#(and(tt, and(tt, and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(isNatIList(zeros), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, tt), X)T(X)
and#(and(and(tt, tt), isNatList(nil)), X)T(X)T(and(x_1, x_2))T(x_2)
and#(isNatIList(zeros), X)T(X)and#(and(isNat(0), isNatList(nil)), X)T(X)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule and#(and(and(tt, isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X) 
and#(and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))), X) 
and#(and(tt, and(and(tt, isNatIList(zeros)), and(tt, isNatList(nil)))), X) 
and#(and(and(isNat(0), isNatIList(zeros)), and(tt, isNatList(nil))), X) 
and#(and(and(isNatList(nil), isNatIList(zeros)), and(tt, isNatList(nil))), X) 
and#(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, isNatList(nil))), X) 
Thus, the rule and#(and(and(tt, isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X) is replaced by the following rules:
and#(and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X)and#(and(tt, and(and(tt, isNatIList(zeros)), and(tt, isNatList(nil)))), X) → T(X)
and#(and(and(isNat(0), isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X)and#(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X)
and#(and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X) → T(X)and#(and(and(isNatList(nil), isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X)

Problem 29: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

and#(and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))
and#(and(and(isNat(0), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)T(and(x_1, x_2))T(x_1)
T(isNat(x_1))T(x_1)and#(and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), isNatList(nil)), X)T(X)isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
and#(isNat(0), X)T(X)and#(isNatIList(nil), X)T(X)
T(isNatList(V2))isNatList#(V2)and#(and(and(isNatList(nil), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
T(isNatIList(V2))isNatIList#(V2)and#(and(tt, and(isNatIList(zeros), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(isNatIList(zeros), X)T(X)and#(and(isNat(0), isNatList(nil)), X)T(X)
and#(and(tt, and(and(tt, isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(tt, isNatList(nil))), X)T(X)
and#(isNat(length(nil)), X)T(X)and#(and(and(tt, tt), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), isNatList(nil)), X)T(X)
and#(and(tt, tt), X)T(X)and#(and(and(tt, tt), isNatList(nil)), X)T(X)
T(and(x_1, x_2))T(x_2)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule and#(and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(and(and(isNat(0), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X) 
and#(and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X) 
and#(and(and(and(tt, and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X) 
and#(and(and(and(isNatIList(zeros), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X) 
and#(and(and(and(isNatList(nil), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X) 
and#(and(and(tt, and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X) 
and#(and(and(and(and(tt, tt), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X) 
Thus, the rule and#(and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X) is replaced by the following rules:
and#(and(and(and(tt, and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X)and#(and(and(and(isNat(0), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X)
and#(and(and(and(isNatIList(zeros), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X)and#(and(and(and(and(tt, tt), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X)
and#(and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X) → T(X)and#(and(and(and(isNatList(nil), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X)
and#(and(and(tt, and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X) → T(X)

Problem 30: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))and#(and(and(isNat(0), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)T(isNat(x_1))T(x_1)
T(and(x_1, x_2))T(x_1)isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
and#(and(isNatIList(zeros), isNatList(nil)), X)T(X)and#(isNat(0), X)T(X)
and#(isNatIList(nil), X)T(X)and#(and(and(isNatList(nil), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
T(isNatList(V2))isNatList#(V2)T(isNatIList(V2))isNatIList#(V2)
and#(and(and(and(isNat(0), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNatIList(zeros), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(isNatIList(zeros), X)T(X)
and#(and(isNat(0), isNatList(nil)), X)T(X)and#(and(and(and(tt, and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(isNat(length(nil)), X)T(X)
and#(and(and(tt, tt), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), isNatList(nil)), X)T(X)and#(and(and(and(and(tt, tt), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, tt), X)T(X)and#(and(and(tt, tt), isNatList(nil)), X)T(X)
T(and(x_1, x_2))T(x_2)and#(and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule and#(and(and(isNat(0), isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(tt, and(and(isNat(0), isNatIList(zeros)), and(tt, isNatList(nil)))), X) 
and#(and(and(and(tt, isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X) 
and#(and(and(isNat(s(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X) 
and#(and(and(tt, and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X) 
and#(and(isNatIList(cons(0, zeros)), and(tt, isNatList(nil))), X) 
and#(and(isNatList(take(0, zeros)), and(tt, isNatList(nil))), X) 
Thus, the rule and#(and(and(isNat(0), isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X) is replaced by the following rules:
and#(and(and(tt, and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X) → T(X)and#(and(isNatIList(cons(0, zeros)), and(tt, isNatList(nil))), X) → T(X)
and#(and(tt, and(and(isNat(0), isNatIList(zeros)), and(tt, isNatList(nil)))), X) → T(X)and#(and(and(and(tt, isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X)
and#(and(isNatList(take(0, zeros)), and(tt, isNatList(nil))), X) → T(X)and#(and(and(isNat(s(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X) → T(X)

Problem 36: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

T(and(x_1, x_2))T(x_1)T(isNatIList(V2))isNatIList#(V2)
and#(and(and(tt, and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(isNatIList(zeros), X)T(X)
and#(and(and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(s(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNatIList(zeros), isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(take(0, zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), isNatList(nil)), X)T(X)T(and(x_1, x_2))T(x_2)
and#(and(and(isNatIList(nil), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatList(nil), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))
and#(and(and(and(and(isNatList(nil), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(tt, isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, isNat(s(0))), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNatIList(zeros), tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)T(isNat(x_1))T(x_1)
and#(and(isNatIList(cons(0, zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNatList(nil)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNat(0), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
T(isNatList(V2))isNatList#(V2)and#(and(and(and(isNatIList(zeros), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(length(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(length(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNatIList(zeros), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNat(0), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(tt, tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(length(nil)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(length(nil)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNat(0)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), isNatList(nil)), X)T(X)and#(and(and(and(tt, and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(nil), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(isNat(length(nil)), X)T(X)
and#(and(and(isNatIList(nil), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNatIList(zeros), tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(tt, and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNatList(nil), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(nil), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), isNatList(nil)), X)T(X)and#(and(tt, and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatIList(nil), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatList(nil), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, isNatIList(zeros)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(tt, and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNat(0), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatList(nil), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(length(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatList(nil), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(tt, and(tt, isNatList(nil)))), X)T(X)and#(isNat(0), X)T(X)
and#(and(and(and(tt, tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(tt, and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNat(0), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(tt, isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(s(length(nil))), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, tt), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatIList(nil), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(tt, and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatList(nil), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatList(nil), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(s(s(0))), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNat(0)), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(tt, isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNatIList(zeros)), isNatList(nil)), X)T(X)and#(and(and(tt, and(and(isNat(0), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(nil), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(s(0)), tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNat(0), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNat(0)), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatList(nil), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))and#(and(and(isNat(0), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(isNatIList(nil), X)T(X)and#(and(and(isNat(0), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(0), tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNat(0))), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(s(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatIList(zeros), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(s(0)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(length(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(isNatList(nil), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNatIList(zeros)), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatIList(zeros), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(s(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(s(0)), tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(and(tt, isNat(0)), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(cons(0, nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatList(nil), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNat(length(nil))), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(0), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, and(isNat(0), tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, tt), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule and#(and(and(tt, and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X) → T(X) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(tt, and(and(tt, and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil)))), X) 
and#(and(and(and(tt, tt), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X) 
and#(and(and(isNatList(nil), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X) 
and#(and(and(isNat(0), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X) 
and#(and(and(isNatIList(zeros), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X) 
and#(and(and(tt, and(tt, and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))))), and(tt, isNatList(nil))), X) 
Thus, the rule and#(and(and(tt, and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X) → T(X) is replaced by the following rules:
and#(and(and(tt, and(tt, and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))))), and(tt, isNatList(nil))), X) → T(X)and#(and(and(and(tt, tt), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X) → T(X)
and#(and(and(isNatList(nil), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X) → T(X)and#(and(and(isNat(0), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X) → T(X)
and#(and(tt, and(and(tt, and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil)))), X) → T(X)and#(and(and(isNatIList(zeros), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X) → T(X)

Problem 39: BackwardsNarrowing

The left-hand side of the rule and#(and(and(tt, tt), and(tt, isNatList(nil))), X) → T(X) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(and(isNat(0), tt), and(tt, isNatList(nil))), X) 
and#(and(and(isNatIList(zeros), tt), and(tt, isNatList(nil))), X) 
and#(and(and(and(tt, tt), tt), and(tt, isNatList(nil))), X) 
and#(and(and(isNatList(nil), tt), and(tt, isNatList(nil))), X) 
and#(and(tt, and(and(tt, tt), and(tt, isNatList(nil)))), X) 
and#(and(and(tt, and(tt, tt)), and(tt, isNatList(nil))), X) 
Thus, the rule and#(and(and(tt, tt), and(tt, isNatList(nil))), X) → T(X) is replaced by the following rules:
and#(and(and(tt, and(tt, tt)), and(tt, isNatList(nil))), X) → T(X)and#(and(and(isNatList(nil), tt), and(tt, isNatList(nil))), X) → T(X)
and#(and(and(and(tt, tt), tt), and(tt, isNatList(nil))), X) → T(X)and#(and(and(isNatIList(zeros), tt), and(tt, isNatList(nil))), X) → T(X)
and#(and(tt, and(and(tt, tt), and(tt, isNatList(nil)))), X) → T(X)and#(and(and(isNat(0), tt), and(tt, isNatList(nil))), X) → T(X)

Problem 41: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

T(isNatIList(V2))isNatIList#(V2)and#(and(and(and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(tt, tt), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(tt, isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(nil), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(length(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(and(tt, tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(isNatIList(zeros), tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNatIList(zeros), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(s(0)), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(tt, tt), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(and(tt, isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(and(tt, and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(s(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, isNat(length(nil))), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(tt, tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(isNat(length(nil)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(and(tt, and(tt, isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(isNat(0), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(tt, and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(and(tt, and(tt, tt)), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNatIList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNat(0), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, isNatIList(zeros)), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNatList(nil), and(tt, tt))), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(s(length(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, isNat(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNat(0), tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(s(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(tt, and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(tt, isNatList(nil)), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, isNatIList(zeros)), X)T(X)
and#(and(and(isNatIList(zeros), and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNat(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(isNatIList(zeros), isNat(0)), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNatIList(zeros), isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(0), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNat(s(0))), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNatIList(zeros), tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(cons(0, zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(and(tt, tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNat(0), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNat(s(s(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(0), and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(and(and(tt, and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(and(tt, isNat(0)), tt)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, isNatList(nil)), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNatIList(zeros)), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(isNatList(nil), isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(isNat(0), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatIList(nil), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatList(nil), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(length(nil)), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(tt, isNatIList(zeros)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, tt), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNat(s(length(nil))), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(tt, isNat(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNatList(nil), tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(tt, tt)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatIList(zeros), tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatIList(zeros), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(0), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(length(nil)), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(and(and(tt, isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(and(tt, and(tt, tt)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(s(s(s(length(nil))))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(isNatIList(zeros), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNat(0), and(tt, and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(and(tt, and(tt, isNatList(nil))), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, isNatIList(zeros)), and(isNatIList(zeros), isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, tt)), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, and(tt, isNat(0))), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, tt), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(nil), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatList(nil), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNat(length(nil)), and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(isNatIList(zeros), isNatList(nil))), X)T(X)and#(and(and(isNat(0), tt), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, isNat(0)), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, isNat(s(0))), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(and(and(tt, tt), isNat(0)), tt), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(isNatIList(nil), and(tt, isNatIList(nil))))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, tt), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(tt, and(tt, tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNatIList(nil)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(isNat(0), isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(s(s(0))), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNat(0), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(tt, and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNat(length(nil)), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(isNat(length(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(isNat(0), isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(isNatIList(nil), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))
and#(and(and(tt, and(tt, and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(s(0)), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(and(and(tt, isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(and(tt, and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(tt, tt), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, isNat(0)), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(isNatList(nil), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNatIList(zeros)), tt), and(tt, isNatList(nil))), X)T(X)
and#(isNat(length(nil)), X)T(X)and#(and(and(isNatIList(nil), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(isNatIList(zeros), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNatList(nil)), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(tt, and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(and(tt, tt), tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(tt, and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNatList(nil), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatIList(zeros), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, isNatList(nil)), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, isNatIList(zeros)), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(tt, tt), tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(s(0)), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, isNat(s(0))), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatList(nil), tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(nil), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNat(0), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNat(s(0)), tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(isNatIList(zeros), tt), and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(isNatIList(zeros), tt)), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(isNatIList(zeros), isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(isNat(0), isNat(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(isNatList(nil), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, isNatIList(zeros)), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(tt, and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(tt, tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatList(nil), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(isNatList(nil), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(s(s(0))), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatIList(zeros), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(and(tt, isNatList(nil)), and(isNat(0), isNat(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(length(nil)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(cons(0, nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, isNat(0))), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(tt, tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNat(length(nil)), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(s(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(and(isNatList(nil), tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(and(tt, tt), isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNat(0), isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(isNat(length(nil)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(s(s(0))), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
T(and(x_1, x_2))T(x_1)and#(and(and(tt, and(and(isNat(s(s(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatList(nil), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNat(0)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(tt, tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(and(isNat(0), tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(nil), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNatIList(nil)), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(length(nil)), and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(nil), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(and(isNat(0), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(and(tt, tt), and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNatList(nil), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
T(and(x_1, x_2))T(x_2)and#(and(and(isNatList(nil), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(nil), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNat(0), tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(isNatIList(zeros), and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatList(nil), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNatList(nil), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(isNatIList(zeros), isNat(0))), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)T(isNatList(V2))isNatList#(V2)
and#(and(and(and(isNat(length(nil)), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNatIList(zeros), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(tt, and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(length(nil)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNat(0)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(tt, isNatList(nil))), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNat(0), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), isNatList(nil)), X)T(X)
and#(and(and(tt, and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(s(s(length(nil)))), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(and(tt, tt), tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNat(0), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(isNat(length(nil)), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(isNatIList(zeros), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatList(nil), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(isNatIList(zeros), tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(tt, and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatIList(zeros), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(isNatIList(zeros), isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(tt, and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatList(nil), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNat(0)), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, tt), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNat(length(nil)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNat(0), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNat(0)), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(and(isNatIList(zeros), tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(isNatIList(nil), X)T(X)and#(and(tt, and(and(and(isNat(0), tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNatIList(zeros), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(length(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, isNatIList(zeros)), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(isNat(s(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(isNat(0), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNat(length(nil))), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(tt, tt)), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNatList(nil), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatIList(zeros), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(tt, isNat(0)), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(tt, and(tt, tt))), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNatList(nil), and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(tt, and(tt, and(tt, and(tt, tt)))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNat(0), tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(tt, and(tt, tt)), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, tt), and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatList(nil), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(and(tt, tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(tt, and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(isNat(0), X)T(X)
and#(and(and(and(and(tt, tt), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(s(0)), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(nil), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(s(length(nil))), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNat(length(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(isNatIList(nil), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatIList(zeros), tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNatIList(zeros), and(isNatIList(zeros), isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(tt, isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(0), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNatList(nil), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNat(0), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))and#(and(isNatList(nil), and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNat(length(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(isNat(s(0)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNat(0), and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNatIList(zeros), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(nil), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(and(tt, tt), isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(and(tt, tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNat(0)), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(isNatIList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNat(s(0)))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatIList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(0), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(isNat(length(nil)), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNat(0), and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNatIList(zeros), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNat(0), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(length(nil)), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), and(tt, tt))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatIList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNatList(nil), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil))))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), tt), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatList(nil), and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(tt, tt), and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNatIList(nil), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(and(tt, tt), isNatList(nil)), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(isNat(0), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNat(0)), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(tt, and(tt, isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNatList(nil), and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(s(0)), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(isNat(0), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(nil), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, tt), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNat(s(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(tt, and(tt, and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(and(tt, tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(isNatIList(nil), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(s(length(nil))), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(and(tt, isNat(0)), isNat(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(length(nil)), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(length(nil)), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(and(and(tt, tt), tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(and(tt, isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(isNatIList(zeros), isNat(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatIList(zeros), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(length(nil)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatList(nil), and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(tt, tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, tt)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatList(nil), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatList(nil), tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatIList(zeros), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(and(isNat(0), tt), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(isNat(s(0)), and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNat(0), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(s(0)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatIList(zeros), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNat(0), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(length(nil)), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(tt, and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(tt, isNat(0))), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(tt, isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNat(0), and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(tt, isNat(s(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, and(tt, tt)), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(s(0)), tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, isNat(0)), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatList(nil), and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNatList(nil), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNatList(nil), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(0), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(and(and(tt, tt), isNat(0)), tt)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(and(isNat(0), isNat(0)), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, tt), X)T(X)
and#(and(and(and(isNat(0), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, isNatList(nil)), and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(s(length(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(isNat(length(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(and(tt, and(and(tt, tt), isNat(0))), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNat(length(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(s(0))), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(isNatIList(zeros), tt), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(nil), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNatList(nil), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(tt, isNatIList(nil)), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNatIList(nil), and(tt, tt))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(isNatIList(zeros), tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatList(nil), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNat(s(s(length(nil))))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(and(tt, isNat(0)), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNat(0)), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(tt, and(isNatList(nil), and(tt, and(tt, and(tt, tt)))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNat(0), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(tt, and(tt, isNat(0))), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatIList(zeros), tt)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNat(0), and(isNat(s(0)), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, isNatList(nil)), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatIList(nil), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), tt), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(tt, tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(tt, and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNatList(nil), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(length(nil)), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(tt, and(tt, isNat(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(0), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatList(nil), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(isNatIList(zeros), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNat(0), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNatList(nil), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNat(0), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatList(nil), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(length(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(length(nil)), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(0), and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(nil), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatList(nil), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNat(0), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(isNat(s(0)), and(tt, and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNat(s(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, isNatIList(zeros)), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatList(nil), and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(and(tt, tt), isNatList(nil))), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(isNatIList(zeros), isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, and(and(tt, tt), and(isNat(length(nil)), and(tt, isNatIList(nil))))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, tt), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(isNat(0), tt)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNat(0), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(s(s(0))), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatList(nil), isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, isNatIList(zeros)), isNatList(nil)), X)T(X)and#(and(tt, and(and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatList(nil), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(isNatIList(zeros), isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, isNatList(nil)), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatIList(nil), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, tt)), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(s(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, and(tt, and(isNat(length(nil)), and(tt, isNatIList(nil))))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(0), tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNat(0), and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNat(s(0)), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNat(0), isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(and(isNat(0), tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(tt, isNatList(nil))), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(s(0)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(isNatList(nil), tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(take(0, zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNat(length(nil))), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(isNatIList(zeros), isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), isNatList(nil)), X)T(X)and#(and(and(tt, isNat(0)), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(and(and(and(tt, isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(0)), and(tt, and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(tt, isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, and(isNat(0), isNat(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))))), X)T(X)T(isNat(x_1))T(x_1)
and#(and(and(and(and(isNat(0), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNatList(nil)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(isNatIList(zeros), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(tt, and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(length(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNatList(nil)), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(tt, tt))), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(isNatList(nil), and(isNat(0), isNat(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, isNatIList(nil)), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(and(tt, tt), isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(isNatIList(zeros), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), isNatList(nil)), X)T(X)and#(and(isNatIList(zeros), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(isNatList(nil), isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNat(s(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(isNat(0), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNatIList(zeros), tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, isNatList(nil)), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, isNat(0)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, isNatList(nil)), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, and(and(tt, tt), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNatList(nil), and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNat(0), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(and(tt, isNat(0)), isNat(0)), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNat(s(length(nil))), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(isNat(s(0)), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, isNat(s(0))), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(length(nil)), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatList(nil), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNat(s(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNatIList(zeros)), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(tt, isNat(0)), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNat(0), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNat(0), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatList(nil), and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatList(nil), and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNatIList(zeros), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, tt)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNat(s(0)), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(tt, tt), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(tt, tt))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(and(tt, isNat(0)), tt), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule and#(and(and(and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X) → T(X) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(and(and(and(tt, isNatList(nil)), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X) 
and#(and(and(and(isNat(length(nil)), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X) 
and#(and(and(and(tt, and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt)))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X) 
and#(and(tt, and(and(and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X) 
and#(and(and(tt, and(and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X) 
and#(and(and(and(isNatIList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X) 
Thus, the rule and#(and(and(and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X) → T(X) is replaced by the following rules:
and#(and(and(and(tt, and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt)))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X) → T(X)and#(and(and(tt, and(and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X) → T(X)
and#(and(and(and(and(tt, isNatList(nil)), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X) → T(X)and#(and(and(and(isNat(length(nil)), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X) → T(X)
and#(and(and(and(isNatIList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X) → T(X)and#(and(tt, and(and(and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X) → T(X)

Problem 49: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

T(isNatIList(V2))isNatIList#(V2)and#(and(isNat(0), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(and(tt, tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(isNatIList(zeros), tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(s(0)), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(tt, tt), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(and(tt, isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, tt), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(s(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, isNat(length(nil))), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(tt, tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(isNat(length(nil)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(and(tt, and(tt, isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(isNat(0), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNat(0), and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNat(0), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(and(tt, and(tt, tt)), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatIList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNat(0)), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNat(0), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatList(nil), and(tt, tt))), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, isNatIList(zeros)), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(s(length(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, isNat(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNat(0), tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNat(s(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNatList(nil), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, isNatList(nil)), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, isNatIList(zeros)), X)T(X)and#(and(isNat(0), and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNat(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, tt), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNat(length(nil)), and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(isNatIList(zeros), isNat(0)), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(isNatIList(zeros), isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatList(nil), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNat(s(0))), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatIList(zeros), tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(cons(0, zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(and(tt, tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNat(0), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(isNat(s(s(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(and(tt, and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNatList(nil)), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(and(tt, isNat(0)), tt)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNatList(nil)), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNatIList(zeros)), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(isNatList(nil), isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(isNat(s(0)), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(0), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatIList(nil), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatList(nil), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatList(nil), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNat(length(nil)), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(tt, isNatIList(zeros)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, isNat(0)), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNat(s(length(nil))), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(tt, isNat(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNatList(nil), tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(tt, tt)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatIList(zeros), tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(tt, tt), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatIList(zeros), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNat(0), and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(0), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(tt, tt), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(isNatList(nil), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNat(length(nil)), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(and(tt, isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(and(tt, and(tt, tt)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(s(s(s(length(nil))))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(and(isNatIList(zeros), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(0), and(tt, and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(and(tt, and(tt, isNatList(nil))), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNatIList(zeros)), and(isNatIList(zeros), isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, tt)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, and(tt, isNat(0))), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, tt), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(nil), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNat(length(nil)), and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(isNatIList(zeros), isNatList(nil))), X)T(X)
and#(and(and(isNat(0), tt), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(0)), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, isNat(s(0))), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(and(and(tt, tt), isNat(0)), tt), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(isNatIList(nil), and(tt, isNatIList(nil))))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, tt), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, tt), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(tt, and(tt, tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNatIList(nil)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(isNat(0), isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNatIList(zeros), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(tt, and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(s(s(0))), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatList(take(0, zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNat(0), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNatIList(zeros), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(tt, and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, and(tt, tt)), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNatIList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(length(nil)), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatList(nil), tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNat(length(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(isNat(0), and(isNatList(nil), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(isNat(0), isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNatIList(nil), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))
and#(and(and(tt, and(tt, and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(s(0)), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatIList(nil), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatList(nil), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(0), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(and(and(tt, isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(and(tt, and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(tt, tt), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(0)), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNatList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNat(0)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(isNat(0), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), tt), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(nil), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(isNat(length(nil)), X)T(X)
and#(and(and(tt, and(and(tt, isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(isNatList(nil), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatList(nil), and(tt, and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, isNatList(nil)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(and(tt, tt), tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(isNat(0), isNatIList(zeros)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(tt, and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNatIList(zeros), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(tt, isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, isNatList(nil)), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(tt, isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(tt, isNatIList(zeros)), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(tt, tt), tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(s(0)), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), tt), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, tt)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNat(s(0))), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNatList(nil)), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(nil), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNat(0), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(s(0)), tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(isNatIList(zeros), tt)), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(isNatIList(zeros), tt), and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNatList(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNatIList(zeros), isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(isNat(0), isNat(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(and(isNatList(nil), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(isNat(0), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNatIList(zeros)), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(tt, tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatList(nil), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(tt, tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(s(s(0))), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNatIList(zeros)), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(cons(0, nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(length(nil)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(and(tt, isNatList(nil)), and(isNat(0), isNat(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, isNat(0))), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(take(0, zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNatIList(nil), isNatList(nil)), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(isNatList(nil), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNat(length(nil)), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(s(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatIList(nil), and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(and(tt, tt), isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(and(isNatList(nil), tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(tt, and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(isNat(0), isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(isNat(length(nil)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(tt, and(tt, and(isNatList(nil), isNatList(nil)))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(s(s(0))), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
T(and(x_1, x_2))T(x_1)and#(and(and(and(and(tt, isNatList(nil)), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatList(nil), and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNat(s(s(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatList(nil), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNat(0)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(tt, tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(and(isNat(0), tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(nil), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, isNatIList(nil)), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(length(nil)), and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(nil), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNatList(nil), and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(isNat(0), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(and(tt, tt), and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
T(and(x_1, x_2))T(x_2)and#(and(and(isNatList(nil), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNat(0), and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNat(0), tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(nil), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(tt, and(isNatList(nil), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatList(nil), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(isNatIList(zeros), isNat(0))), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNat(0), and(isNatIList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
T(isNatList(V2))isNatList#(V2)and#(and(tt, and(isNatIList(zeros), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(length(nil)), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNat(0), and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(length(nil)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNatList(nil), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNat(0)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNatList(nil))), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(tt, tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNat(0), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNatIList(zeros), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), isNatList(nil)), X)T(X)and#(and(and(tt, and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNat(s(s(length(nil)))), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNat(0), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(and(and(and(tt, tt), tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(length(nil)), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNatIList(zeros), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatList(nil), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(isNatIList(zeros), tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNatIList(zeros)), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNatIList(zeros), and(isNat(0), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))))), X)T(X)
and#(and(and(isNatIList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatIList(zeros), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(tt, and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(isNatIList(zeros), isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(tt, and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNat(0), tt), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNat(0)), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, tt), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNatList(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNat(length(nil)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), and(isNatList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNat(0), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNat(0)), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(and(isNatIList(zeros), tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(isNatIList(nil), X)T(X)and#(and(tt, and(and(and(isNat(0), tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNatIList(zeros), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(length(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, isNatIList(zeros)), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(isNat(s(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(isNat(0), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNat(length(nil))), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(tt, isNatIList(nil)), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, tt)), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNatIList(nil)), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(0), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(s(s(0))), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(0), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(isNatList(nil), and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(isNatList(nil), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatIList(zeros), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(tt, and(isNat(0), isNatIList(zeros))), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNat(0)), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(tt, and(tt, tt))), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(tt, isNat(length(nil))), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), and(isNatList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(isNat(0), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(tt, isNat(0)), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(isNatList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, isNatList(nil)), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(tt, and(tt, and(tt, and(tt, tt)))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNat(0), tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(isNatIList(nil), and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(tt, tt)), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, tt), and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(tt, tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(tt, and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(isNat(0), X)T(X)and#(and(and(and(and(tt, tt), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(s(0)), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(and(and(isNatList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(tt, and(and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(nil), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(s(length(nil))), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNat(length(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatList(nil), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatIList(nil), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, isNat(s(0))), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(isNat(0), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(0), tt)), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(isNatIList(zeros), and(isNatIList(zeros), isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNat(0), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
and#(and(isNatList(nil), and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNatIList(zeros))), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), tt), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNat(length(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(isNat(s(0)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNat(0), and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatIList(zeros), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(nil), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(isNatList(nil), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(and(tt, tt), isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(tt, tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNat(0)), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(isNatIList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNat(s(0)))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatIList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(s(0)), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNat(0), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(and(isNat(length(nil)), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, tt), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(s(0)), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNat(0), and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(isNatIList(zeros), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNatIList(zeros)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNat(0), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNatList(nil), and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(length(nil)), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), and(tt, tt))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, and(isNatList(nil), isNatList(nil))), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNatIList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNatList(nil), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(cons(0, zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil))))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(length(nil)), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), tt), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(tt, and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatList(nil), and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(tt, tt), and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatIList(nil), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(and(tt, tt), isNatList(nil)), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(isNat(0), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, isNat(0)), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(tt, isNat(0)), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(tt, and(tt, isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNatList(nil), and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(s(0)), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(isNat(0), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(nil), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, tt), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNat(s(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatList(nil), tt), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(tt, and(tt, and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(and(and(tt, tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(isNatIList(nil), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(s(length(nil))), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(and(tt, isNat(0)), isNat(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatList(nil), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(length(nil)), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(length(nil)), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(isNat(0), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(and(and(tt, tt), tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(and(tt, isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(isNatIList(zeros), isNat(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatIList(zeros), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(length(nil)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatList(nil), and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(tt, tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, tt)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatList(nil), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatList(nil), tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNatList(nil)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(and(isNat(0), tt), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNatIList(zeros), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(tt, and(tt, and(isNat(s(0)), and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(isNatList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(and(isNat(0), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(s(0)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatIList(zeros), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNat(0), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(length(nil)), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(and(tt, and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNat(0))), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(0), and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(tt, isNat(s(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, and(tt, tt)), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNat(s(0)), tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, isNat(0)), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, isNatIList(zeros)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatList(nil), and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNatList(nil), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(isNat(0), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNatList(nil), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNat(0), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(and(and(tt, tt), isNat(0)), tt)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(isNat(0), isNat(0)), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, tt), X)T(X)and#(and(and(tt, isNat(0)), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNat(0), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, isNatList(nil)), and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), and(isNatList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(s(length(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(isNat(length(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatList(nil), and(and(and(isNatList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(and(tt, and(and(tt, tt), isNat(0))), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNat(length(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNat(0), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, isNat(s(0))), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(isNatIList(zeros), tt), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(nil), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatIList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, tt), and(and(and(isNatList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(isNatList(nil), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(tt, isNatIList(nil)), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatIList(nil), and(tt, tt))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNat(s(0)), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(isNat(0), and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(isNatIList(zeros), tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatList(nil), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNat(s(s(length(nil))))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(and(tt, isNat(0)), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNat(0)), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(tt, and(isNatList(nil), and(tt, and(tt, and(tt, tt)))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNat(0), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(tt, and(tt, isNat(0))), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatIList(zeros), tt)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNat(0), and(isNat(s(0)), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, isNatList(nil)), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatIList(nil), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), tt), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(length(nil)), and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(isNat(0), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(tt, tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(tt, and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(s(0)), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(isNatList(nil), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(length(nil)), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(tt, and(tt, isNat(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, isNatIList(zeros))), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(0), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatList(nil), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(isNatIList(zeros), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNat(0), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNatList(nil), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNat(0), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatList(nil), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(tt, and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(length(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(length(nil)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(isNatIList(nil), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatList(nil), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNat(0), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(isNat(s(0)), and(tt, and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(isNat(s(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNatIList(zeros)), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(and(tt, tt), isNatList(nil))), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(isNatIList(zeros), isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(length(nil)), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(isNat(0), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, and(and(tt, tt), and(isNat(length(nil)), and(tt, isNatIList(nil))))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, tt), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(isNat(0), tt)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNat(0), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(s(s(0))), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, and(isNatList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNatList(nil), isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, isNatIList(zeros)), isNatList(nil)), X)T(X)and#(and(tt, and(and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatList(nil), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(isNatIList(zeros), isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, isNatList(nil)), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatIList(nil), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, tt)), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNat(s(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(isNat(length(nil)), and(tt, isNatIList(nil))))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(0), tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, tt), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNat(0), and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(length(nil)), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNat(s(0)), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNat(0), isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(and(isNat(0), tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(tt, isNatList(nil))), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(s(0)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(isNatList(nil), tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(take(0, zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNat(length(nil))), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(isNatIList(zeros), isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), isNatList(nil)), X)T(X)and#(and(and(tt, isNat(0)), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(and(and(and(tt, isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(0)), and(tt, and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(tt, isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, and(isNat(0), isNat(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(and(isNat(0), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
T(isNat(x_1))T(x_1)and#(and(and(and(tt, isNatList(nil)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(isNatIList(zeros), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), and(isNatList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(0), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(length(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(length(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(isNatList(nil), and(isNat(0), isNat(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(tt, tt))), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNatIList(nil)), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(and(tt, tt), isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(isNatIList(zeros), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(isNat(0), isNatIList(zeros))), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), isNatList(nil)), X)T(X)
and#(and(isNatIList(zeros), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(tt, isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNat(0), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNat(s(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(isNatList(nil), isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, tt), tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(isNat(0), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatIList(zeros), tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNatList(nil)), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(0)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(s(0)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, tt), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNatList(nil)), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNatIList(zeros), and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNatList(nil), and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNat(0), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt)))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, tt), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), isNatList(nil)), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(and(tt, isNat(0)), isNat(0)), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNat(s(length(nil))), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(isNat(s(0)), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(isNat(0), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, isNat(s(0))), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNat(0)), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNat(0), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(length(nil)), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatList(nil), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(and(tt, tt), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(s(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNatIList(zeros)), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(s(length(nil))), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(tt, isNat(0)), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNat(s(0)), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(isNat(0), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNatIList(cons(0, zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatList(nil), and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNatIList(zeros), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatList(nil), and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(tt, tt)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNat(s(0)), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, and(tt, and(tt, tt))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(and(tt, isNat(0)), tt), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule and#(and(isNat(0), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X) → T(X) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(and(tt, isNat(0)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X) 
and#(and(tt, and(isNat(0), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X) 
and#(and(isNat(s(0)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X) 
Thus, the rule and#(and(isNat(0), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X) → T(X) is replaced by the following rules:
and#(and(tt, and(isNat(0), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X) → T(X)and#(and(and(tt, isNat(0)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X) → T(X)
and#(and(isNat(s(0)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X) → T(X)

Problem 51: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

T(isNatIList(V2))isNatIList#(V2)and#(and(tt, and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(tt, isNat(length(nil))), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNatList(nil), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(tt, tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(s(0)), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(isNat(length(nil)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(and(tt, and(tt, isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(isNat(0), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(take(0, zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(and(isNat(0), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(and(tt, and(tt, tt)), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatIList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNat(0), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNat(0)), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatList(nil), and(tt, tt))), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNatList(nil)), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, isNatIList(zeros)), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(s(length(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, isNat(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(and(isNat(0), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatList(nil), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(and(and(and(tt, tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNat(0), tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(s(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(isNatIList(zeros), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNatList(nil), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, isNatList(nil)), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, isNatIList(zeros)), X)T(X)
and#(and(and(isNatIList(zeros), and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, tt), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNat(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNat(length(nil)), and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(isNatIList(zeros), isNat(0)), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(0), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(isNatIList(zeros), isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(isNatList(nil), and(isNatIList(zeros), tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(take(0, zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, isNat(0)), isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNat(s(0))), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNatIList(zeros), tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNatIList(zeros), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(cons(0, zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(and(tt, tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNat(0), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), isNatIList(zeros)), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNat(s(s(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(tt, and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNat(0), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(nil), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), tt), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNatList(nil)), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(and(tt, isNat(0)), tt)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(tt, tt)), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatIList(zeros), and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNatList(nil)), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(isNatList(nil), isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(and(tt, tt), and(tt, tt)), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, and(tt, and(tt, tt))), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNat(s(0)), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNat(0), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatIList(nil), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatList(nil), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(length(nil)), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(tt, isNatIList(zeros)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(tt, and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(isNatIList(zeros), and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(tt, and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNat(0)), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNat(s(length(nil))), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNat(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatList(nil), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(tt, and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(isNatList(nil), tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(tt, tt)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(tt, tt), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(and(isNat(0), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(isNatList(nil), and(isNatIList(zeros), tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(isNatIList(zeros), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(isNatIList(zeros), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNat(0), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(tt, tt), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNat(length(nil)), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(and(tt, isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(tt, tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(and(tt, and(tt, tt)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(s(s(s(length(nil))))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(isNatIList(zeros), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNat(0), and(tt, and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(and(tt, and(tt, isNatList(nil))), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(and(tt, and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, isNatIList(zeros)), and(isNatIList(zeros), isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, tt)), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, and(tt, isNat(0))), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(length(nil)), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, tt), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(and(tt, tt), tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatIList(zeros), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(nil), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(isNatList(nil), and(isNatIList(zeros), tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNat(length(nil)), and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(isNatIList(zeros), isNatList(nil))), X)T(X)and#(and(and(isNat(0), tt), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, isNat(0)), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, isNat(s(0))), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(and(and(tt, tt), isNat(0)), tt), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(isNatIList(nil), and(tt, isNatIList(nil))))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, tt), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, tt), and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(tt, tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNatIList(nil)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(isNat(0), isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNatList(nil), and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(tt, and(tt, and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNatIList(zeros), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(tt, and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(isNat(s(s(0))), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(isNat(s(s(0))), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, isNatList(nil)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(tt, and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNatList(take(0, zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNat(0), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNatIList(zeros), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(tt, tt)), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(tt, and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, and(tt, tt)), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(length(nil)), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNatIList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(and(tt, and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatList(nil), tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatList(nil), tt), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNat(length(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(isNat(0), and(isNatList(nil), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNat(0), isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(and(isNatIList(nil), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))and#(and(isNat(0), and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(s(0)), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatIList(nil), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNat(0), and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(tt, and(tt, and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(and(and(and(tt, tt), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(and(isNatIList(zeros), and(tt, tt)), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(tt, isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(and(tt, and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(tt, tt), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(and(and(tt, and(tt, tt)), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNat(0)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, isNat(0)), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(and(tt, isNatList(nil)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), tt), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(0), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(isNat(0), and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(isNat(length(nil)), X)T(X)
and#(and(and(isNatIList(nil), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(tt, isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, isNatIList(zeros)), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNatIList(zeros)), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatIList(zeros), and(tt, tt))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(isNatIList(zeros), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNatList(nil)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(tt, and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, tt), and(and(tt, tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(tt, tt), tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(isNat(0), isNatIList(zeros)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(and(tt, tt), tt), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(tt, and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNatList(nil), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(tt, isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatIList(zeros), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatIList(zeros), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(tt, tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNat(s(0))), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatList(nil), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(tt, isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, isNatList(nil)), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(tt, isNat(0)), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(tt, isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, tt)), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(tt, isNatIList(zeros)), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(tt, tt), tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(and(and(and(tt, isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNat(s(0)), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), tt), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(isNatList(nil), and(isNatIList(zeros), tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(tt, tt)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNat(s(0))), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNatList(nil)), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(nil), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNat(0), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(s(0)), tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(and(isNatIList(zeros), tt), and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(isNatIList(zeros), tt)), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(isNatIList(zeros), isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(isNat(0), isNat(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(nil), and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(isNatList(nil), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(isNat(0), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNatIList(zeros)), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNat(s(0)), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(tt, and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(tt, tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(s(s(0))), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatIList(zeros), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(and(tt, isNatList(nil)), and(isNat(0), isNat(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(length(nil)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(cons(0, nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, isNat(0))), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatList(take(0, zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(tt, tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatIList(nil), isNatList(nil)), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNatList(nil), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNat(length(nil)), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatIList(nil), and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(s(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(and(isNatList(nil), tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(and(tt, tt), isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNat(0), isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(isNat(length(nil)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(isNatList(nil), isNatList(nil)))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(isNat(s(0)), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(s(s(0))), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
T(and(x_1, x_2))T(x_1)and#(and(and(and(and(tt, isNatList(nil)), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNat(s(s(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatList(nil), and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatList(nil), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNat(0)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(and(tt, tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(and(and(and(tt, tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNat(0), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, isNatIList(zeros)), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(and(isNat(0), tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(nil), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNatIList(nil)), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, tt), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(length(nil)), and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(cons(0, zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(nil), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(and(and(and(tt, isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(tt, and(tt, and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNatList(nil), and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(isNat(0), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(and(tt, tt), and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
T(and(x_1, x_2))T(x_2)and#(and(and(isNatList(nil), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNat(0), and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNatList(nil), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(nil), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNat(0), tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(isNatIList(zeros), and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatList(nil), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNatList(nil), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(isNatIList(zeros), isNat(0))), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNat(0), and(isNatIList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)T(isNatList(V2))isNatList#(V2)
and#(and(tt, and(isNatIList(zeros), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(length(nil)), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatList(take(0, zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(and(tt, isNat(0)), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(length(nil)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(isNatList(nil), and(isNatIList(zeros), tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(s(s(0))), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNat(0)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNatList(nil))), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, tt), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(and(tt, tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatList(nil), and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(isNat(0), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, isNat(s(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), isNatList(nil)), X)T(X)and#(and(and(tt, and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatIList(zeros), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(s(s(length(nil)))), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(0), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(and(and(and(and(tt, tt), tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(length(nil)), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(isNatIList(zeros), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatList(nil), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(isNatIList(zeros), tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, isNatIList(zeros)), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNatIList(zeros), and(isNat(0), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNatIList(zeros), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))))), X)T(X)and#(and(and(isNatIList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatIList(zeros), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, and(tt, and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(isNatIList(zeros), isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNat(0), tt), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNat(0), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(0), and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(tt, and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNat(0), tt), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNat(0)), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, tt), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNat(length(nil)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), and(isNatList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNat(0), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNat(0)), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(s(0)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(and(isNatIList(zeros), tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(isNatIList(nil), X)T(X)and#(and(and(isNat(0), tt), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(0), tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNatIList(zeros), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(length(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, isNatIList(zeros)), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(isNat(s(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNat(s(0)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, tt), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(isNat(0), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNat(length(nil))), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(tt, isNatIList(nil)), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, tt)), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNatIList(nil)), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(length(nil)), and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(s(s(0))), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(s(s(s(0)))), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(0), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(isNatList(nil), and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNatList(nil)), and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNatList(nil), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(length(nil)), and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(and(and(and(tt, and(tt, tt)), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(tt, tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatIList(zeros), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(tt, isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(tt, and(isNat(0), isNatIList(zeros))), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(isNat(s(0)), and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(and(tt, tt), tt), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNat(0)), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatList(nil), and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(tt, and(tt, tt))), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(tt, isNat(length(nil))), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), and(isNatList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(take(0, zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(0), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(tt, isNat(0)), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(and(isNatList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNat(0), and(tt, tt)), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(s(s(0)))), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(tt, and(and(and(and(and(tt, tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, and(tt, and(tt, and(tt, and(tt, and(tt, tt)))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(tt, and(isNat(0), tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNatIList(zeros), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(and(and(tt, isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(isNat(0), and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(tt, and(and(isNatIList(nil), and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(tt, tt)), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, tt), and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(tt, tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(tt, and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(isNat(0), X)T(X)and#(and(and(and(and(tt, tt), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(and(tt, tt), isNatList(nil))), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(s(0)), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(isNat(s(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(and(isNatList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(tt, and(and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(nil), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(s(length(nil))), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNat(length(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatList(nil), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatIList(nil), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(s(0))), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNatIList(zeros), tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(isNat(0), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNat(0), tt)), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNatIList(zeros), and(isNatIList(zeros), isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(s(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNat(0), and(and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(and(tt, tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(tt, and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNat(0), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(tt, isNat(s(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
and#(and(isNatList(nil), and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNatIList(zeros))), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), tt), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNat(length(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNat(0)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(isNat(s(0)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), tt), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNat(0), and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatIList(zeros), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(nil), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(isNatList(nil), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, and(isNat(0), isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(and(tt, tt), isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(tt, tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNat(0)), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(isNatIList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(tt, isNat(s(0)))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatIList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(s(0)), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNat(0), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(and(isNat(length(nil)), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, tt), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(s(0)), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(and(tt, tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(isNat(0), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, and(tt, and(isNatList(nil), tt))), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNatList(nil), and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(tt, tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNat(0), and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNat(0))), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNatIList(zeros), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(and(isNat(0), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNat(0), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNatList(nil), and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(length(nil)), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(0), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), and(tt, tt))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, and(isNatList(nil), isNatList(nil))), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNatIList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNatList(nil), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(cons(0, zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil))))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(length(nil)), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), tt), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatList(nil), and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(and(tt, and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(isNatIList(zeros), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, isNat(s(0))), and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatList(nil), and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(and(tt, tt), and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, and(tt, tt)), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatIList(nil), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(and(tt, tt), isNatList(nil)), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(isNat(0), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNat(0)), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(tt, isNat(0)), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(and(tt, tt), isNat(0))), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(tt, and(tt, isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(isNat(0), isNat(s(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNatList(nil), and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(and(and(tt, and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(s(0)), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(isNat(0), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(isNat(0), isNat(s(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(nil), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNat(s(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(and(and(tt, tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNatList(nil), tt), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), and(isNat(s(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(tt, and(tt, and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(and(and(tt, tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(isNatIList(nil), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(s(length(nil))), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(and(tt, isNat(0)), isNat(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(length(nil)), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), tt), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(length(nil)), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(isNat(0), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(and(and(tt, tt), tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(and(tt, isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(isNatIList(zeros), isNat(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatIList(zeros), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(isNatList(nil), and(tt, tt)), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(length(nil)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatList(nil), and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(tt, tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(isNatIList(zeros), tt), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(tt, tt)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(tt, isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatList(nil), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatList(nil), tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNatList(nil)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(s(0))), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, tt), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatList(nil), isNatIList(zeros)), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(nil), and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, and(and(isNat(0), tt), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(isNat(s(0)), and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNatIList(zeros), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(tt, and(and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(isNatList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(tt, and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNat(0), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(s(0)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatIList(zeros), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, tt), tt), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(0), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(length(nil)), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(tt, and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNat(0))), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(0), and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(tt, isNat(s(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, and(tt, tt)), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNat(s(0)), tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, isNat(0)), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), and(tt, and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(and(tt, isNatIList(zeros)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatList(nil), and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNatList(nil), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(isNat(0), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNatList(nil), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(and(tt, and(tt, tt)), isNatList(nil)), and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(and(tt, tt), isNatList(nil)), and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(isNatList(nil), and(isNatIList(zeros), tt)))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNat(0), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(isNat(0), isNat(0)), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(and(and(tt, tt), isNat(0)), tt)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, tt), X)T(X)and#(and(and(tt, isNat(0)), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNat(0), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, isNatList(nil)), and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(s(length(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatList(nil), and(isNatList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(isNat(length(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatIList(zeros), and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(and(isNatList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(and(tt, and(and(tt, tt), isNat(0))), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNat(length(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNatList(nil), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(isNat(0), isNat(0)), isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), and(isNat(s(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(isNat(0), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, isNat(s(0))), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(and(and(tt, tt), isNat(0)), isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatIList(zeros), tt), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(nil), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(tt, and(and(and(isNatIList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, tt), and(and(and(isNatList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(isNatList(nil), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(and(isNatList(nil), tt), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNatIList(nil)), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatIList(nil), and(tt, tt))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNat(0)), and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNat(s(0)), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(and(and(isNatIList(zeros), tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(and(tt, and(tt, tt)), isNatList(nil))), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatList(nil), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNat(s(s(length(nil))))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(and(tt, isNat(0)), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, isNat(0)), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatList(nil), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(isNatList(nil), and(tt, and(tt, and(tt, tt)))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), and(tt, and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(isNat(0), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(tt, and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatList(nil), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(tt, and(tt, isNat(0))), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(tt, tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatList(nil), and(and(and(tt, and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatIList(zeros), tt)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, tt), isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(0), and(isNat(s(0)), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, isNatList(nil)), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), tt), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatIList(nil), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNat(length(nil)), and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(tt, tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(isNat(0), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(tt, and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(s(0)), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(isNatList(nil), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(length(nil)), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(tt, and(tt, isNat(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(tt, and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(tt, tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, isNatIList(zeros))), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(0), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatList(nil), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(isNatIList(zeros), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNat(0), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(0)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNatIList(zeros), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(isNatList(nil), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNat(0), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(tt, and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(length(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(length(nil)), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(0), and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(nil), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNatList(nil), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNat(s(0)), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(isNat(0), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(isNat(s(0)), and(tt, and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNat(s(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, isNatIList(zeros)), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(and(tt, tt), isNatList(nil))), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(isNatIList(zeros), isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(length(nil)), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(isNat(0), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, and(and(tt, tt), and(isNat(length(nil)), and(tt, isNatIList(nil))))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, tt), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(isNat(0), tt)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNat(0), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, and(isNatList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNat(s(s(0))), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatList(nil), isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, isNatIList(zeros)), isNatList(nil)), X)T(X)
and#(and(tt, and(and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(isNat(s(0)), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatList(nil), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(s(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatList(nil), and(isNatIList(zeros), isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, isNatList(nil)), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, isNatList(nil)), and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(tt, tt), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatIList(nil), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, tt)), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatList(nil), and(isNat(s(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(s(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, and(tt, and(isNat(length(nil)), and(tt, isNatIList(nil))))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNat(s(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(and(and(tt, isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNat(0), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNatIList(zeros)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, tt), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(0), tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNat(0), and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), and(tt, isNatIList(zeros)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(length(nil)), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNatIList(zeros)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), and(tt, and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNat(s(0)), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, and(tt, and(tt, isNatIList(zeros)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNatIList(zeros)), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNatIList(zeros), and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(tt, and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(isNat(0), tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(tt, isNatList(nil))), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(and(and(tt, tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(s(s(0))), and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNat(s(0)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), tt), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(and(isNat(0), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(isNatList(nil), tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(take(0, zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNat(length(nil))), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(0), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(tt, tt), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(isNatIList(zeros), isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), isNatList(nil)), X)T(X)and#(and(and(isNat(0), and(and(isNat(0), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(0)), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(and(and(tt, isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(tt, and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, isNat(0)), and(tt, and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(tt, isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, and(isNat(0), isNat(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))))), X)T(X)T(isNat(x_1))T(x_1)
and#(and(and(and(and(isNat(0), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNatList(nil)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(isNatList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(isNatIList(zeros), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(tt, and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(length(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(length(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(tt, tt))), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(isNatList(nil), and(isNat(0), isNat(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, isNatIList(nil)), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(and(tt, tt), isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(isNatIList(zeros), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), isNatList(nil)), X)T(X)
and#(and(and(and(and(tt, and(isNat(0), isNatIList(zeros))), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(tt, isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(isNat(0), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(and(and(tt, isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, tt), and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(and(isNatList(nil), isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNat(s(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNatIList(zeros)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(tt, and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(isNat(0), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatIList(zeros), tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatList(nil), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(0)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, isNatIList(zeros))), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNatList(nil), tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(tt, and(isNatList(nil), tt)))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(and(tt, tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(and(isNat(0), isNat(s(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(s(0)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNatList(nil)), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, and(and(tt, tt), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNatList(nil), and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNat(0), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(s(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(and(tt, and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt)))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), isNatList(nil)), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(tt, tt), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(and(tt, isNat(0)), isNat(0)), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNat(s(length(nil))), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(isNat(s(0)), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(isNat(0), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(isNatIList(zeros), tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, isNat(s(0))), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(length(take(0, zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(0)), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNat(0), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), isNatIList(zeros)), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(length(nil)), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatList(nil), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(and(tt, tt), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNat(s(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(and(tt, isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNatIList(zeros)), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(tt, isNat(0)), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(s(length(nil))), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(and(tt, tt), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(and(isNat(0), tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(s(0)), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), isNatIList(zeros)), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(0), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNat(0), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, and(isNat(s(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, tt), and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(cons(0, zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatList(nil), and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatIList(zeros), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, tt)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNat(s(0)), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(tt, tt), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(tt, tt))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(and(tt, isNat(0)), tt), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule and#(and(tt, and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X) → T(X) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(tt, and(tt, and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))))), X) 
and#(and(isNatIList(zeros), and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X) 
and#(and(and(tt, tt), and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X) 
and#(and(isNat(0), and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X) 
and#(and(isNatList(nil), and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X) 
Thus, the rule and#(and(tt, and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X) → T(X) is replaced by the following rules:
and#(and(isNatList(nil), and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X) → T(X)and#(and(isNat(0), and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X) → T(X)
and#(and(tt, and(tt, and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))))), X) → T(X)and#(and(isNatIList(zeros), and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X) → T(X)
and#(and(and(tt, tt), and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X) → T(X)

Problem 54: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

T(isNatIList(V2))isNatIList#(V2)and#(and(and(tt, and(and(tt, tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(tt, tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(s(0)), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(and(and(isNatIList(nil), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(isNat(length(nil)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(and(tt, and(tt, isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(isNat(0), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(take(0, zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, and(and(isNat(length(nil)), tt), and(tt, isNatIList(zeros)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNat(0), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(and(tt, and(tt, tt)), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatIList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNat(0)), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNat(0), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatList(nil), and(tt, tt))), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNatList(nil)), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, isNatIList(zeros)), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(s(length(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, isNat(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(and(isNat(0), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatList(nil), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(and(and(and(tt, tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNat(0), tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(s(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(isNatIList(zeros), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNatList(nil), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, isNatList(nil)), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, isNatIList(zeros)), X)T(X)
and#(and(and(isNatIList(zeros), and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNat(0), tt), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(and(tt, tt), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNat(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNat(length(nil)), and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(isNatIList(zeros), isNat(0)), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNat(0), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(isNatIList(zeros), isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(0), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(isNatList(nil), and(isNatIList(zeros), tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, tt), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(take(0, zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, isNat(0)), isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNat(s(0))), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNatIList(zeros), tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNatIList(zeros), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(cons(0, zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(and(tt, tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNat(0), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(isNatList(nil), tt)), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), isNatIList(zeros)), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(s(s(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(isNatList(nil), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(tt, and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNat(0), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(nil), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), tt), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(and(and(tt, isNat(length(nil))), and(isNatList(nil), tt)), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(and(tt, isNat(0)), tt)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(isNat(length(nil)), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(tt, tt)), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatIList(zeros), and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNatList(nil)), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(tt, and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNatList(nil), isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, tt), tt)), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(and(tt, tt), and(tt, tt)), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, and(tt, and(tt, tt))), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(0)), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNat(s(0)), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNat(0), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatIList(nil), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatList(nil), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(length(nil)), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(tt, isNatIList(zeros)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(tt, and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(isNatIList(zeros), and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(tt, and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNat(0)), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNat(s(length(nil))), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(and(and(tt, isNat(length(nil))), and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNat(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatList(nil), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatList(nil), tt), tt), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNatList(nil), tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(tt, tt)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatIList(zeros), tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(tt, tt), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNat(0), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(isNatList(nil), and(isNatIList(zeros), tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(isNatIList(zeros), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(isNatIList(zeros), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(0), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(tt, tt), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(isNatList(nil), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(length(nil)), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(and(and(tt, isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), and(and(tt, tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(and(tt, and(tt, tt)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatList(nil), tt), and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(s(s(s(length(nil))))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(and(tt, isNat(length(nil))), and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(isNatIList(zeros), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(0), and(tt, and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(and(tt, and(tt, isNatList(nil))), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(and(tt, and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatIList(zeros), and(and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNatIList(zeros)), and(isNatIList(zeros), isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNatList(nil), and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(tt, and(tt, tt)), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, and(tt, isNat(0))), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(length(nil)), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, tt), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(and(tt, tt), tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatIList(zeros), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(nil), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(isNatList(nil), and(isNatIList(zeros), tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNat(length(nil)), and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(isNatIList(zeros), isNatList(nil))), X)T(X)and#(and(and(isNat(0), tt), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, isNat(0)), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, isNat(s(0))), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(and(and(tt, tt), isNat(0)), tt), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(isNatIList(nil), and(tt, isNatIList(nil))))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, tt), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(tt, and(tt, tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNatIList(nil)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(isNat(0), isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNat(length(nil)), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(isNatList(nil), and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(tt, and(tt, and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNatIList(zeros), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatIList(zeros), and(and(and(and(tt, isNat(length(nil))), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(tt, and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(isNat(s(s(0))), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(isNat(s(s(0))), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, isNatList(nil)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(tt, and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNatList(take(0, zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, tt), and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNat(0), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(tt, tt)), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatIList(zeros), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(tt, and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, and(tt, tt)), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(length(nil)), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatIList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, isNatIList(nil)), and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, tt), and(and(and(tt, and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatList(nil), tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNat(0), isNat(length(nil))), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatList(nil), tt), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(isNat(length(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(isNat(0), and(isNatList(nil), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNat(0), isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(and(isNatIList(nil), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
T(and(isNat(M), isNat(N)))and#(isNat(M), isNat(N))and#(and(isNat(0), and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(s(0)), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(s(0)), tt), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(isNatIList(nil), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNat(0), and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, tt)), and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(tt, and(tt, and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(and(and(and(tt, tt), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(and(isNatIList(zeros), and(tt, tt)), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(tt, isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(and(tt, and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(tt, tt), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(and(and(tt, and(tt, tt)), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNat(0)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, isNat(0)), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(and(tt, isNatList(nil)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), tt), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(0), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(isNat(0), and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(isNat(length(nil)), X)T(X)
and#(and(and(isNatIList(nil), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(tt, isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, isNatIList(zeros)), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNatIList(zeros)), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatIList(zeros), and(tt, tt))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(isNatIList(zeros), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNatList(nil)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(tt, and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, tt), and(and(tt, tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(tt, tt), tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(isNat(0), isNatIList(zeros)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNat(s(s(length(nil)))), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(and(tt, tt), tt), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNatList(nil), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(tt, isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNatIList(zeros), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(tt, tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(isNatList(nil), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, isNat(s(0))), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatList(nil), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(tt, isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, isNatList(nil)), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(tt, isNat(0)), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(tt, isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(isNatList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, tt)), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(tt, isNatIList(zeros)), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(tt, tt), tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(isNat(s(length(nil))), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatList(nil), and(and(and(and(and(tt, isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNat(s(0)), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatIList(zeros), tt), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(isNatList(nil), and(isNatIList(zeros), tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, tt)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNat(s(0))), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatList(nil), tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(nil), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNat(0), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNat(s(0)), tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(and(isNatIList(zeros), tt), and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(isNatIList(zeros), tt)), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(isNatIList(zeros), isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNatList(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(isNat(0), isNat(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(nil), and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(isNatList(nil), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(isNat(0), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNatIList(zeros)), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNat(s(0)), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(tt, and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(tt, tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNatIList(nil), and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(tt, and(isNatList(nil), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(s(s(0))), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNatIList(zeros)), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(and(tt, isNatList(nil)), and(isNat(0), isNat(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(length(nil)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(cons(0, nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, isNat(0))), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(tt, and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))))), X)T(X)and#(and(isNatList(take(0, zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(tt, tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatIList(nil), isNatList(nil)), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNatList(nil), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNat(length(nil)), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatIList(nil), and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(s(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(and(isNatList(nil), tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(and(tt, tt), isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(isNat(length(nil)), tt)), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(tt, and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(isNat(0), isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, tt), tt), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(and(isNat(length(nil)), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(tt, and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(isNat(length(nil)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(isNatList(nil), isNatList(nil)))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(isNat(s(0)), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(s(s(0))), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(0), tt), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)T(and(x_1, x_2))T(x_1)
and#(and(and(and(and(tt, isNatList(nil)), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(isNat(0), tt)), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatList(nil), and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNat(s(s(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatList(nil), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNat(0)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(and(tt, tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(and(and(and(tt, tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNat(0), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, isNatIList(zeros)), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(and(isNat(0), tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(nil), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(tt, tt)), tt), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNatIList(nil)), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(and(and(tt, isNat(length(nil))), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(tt, tt), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(length(nil)), and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(cons(0, zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(nil), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(and(and(and(tt, isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(tt, and(tt, and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNatList(nil), and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(isNat(0), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(and(tt, tt), and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
T(and(x_1, x_2))T(x_2)and#(and(and(isNatList(nil), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNat(0), and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNatList(nil), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(nil), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNat(0), tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(isNatIList(zeros), and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatList(nil), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNatList(nil), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(isNatIList(zeros), isNat(0))), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNat(0), and(isNatIList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)T(isNatList(V2))isNatList#(V2)
and#(and(and(isNatList(nil), and(and(and(tt, isNat(length(nil))), and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNatIList(zeros), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(length(nil)), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatList(take(0, zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(and(tt, isNat(0)), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(length(nil)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(isNatList(nil), and(isNatIList(zeros), tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatList(nil), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(s(s(0))), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNat(0)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(and(and(and(tt, isNat(length(nil))), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNatList(nil))), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, tt), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(and(tt, tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatList(nil), and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(isNat(0), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, isNat(s(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), isNatList(nil)), X)T(X)and#(and(and(tt, and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatIList(zeros), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(s(s(length(nil)))), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(0), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(and(and(and(and(tt, tt), tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNatIList(zeros), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(length(nil)), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNatIList(zeros), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(and(tt, tt), isNat(length(nil))), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatList(nil), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNat(0)), tt), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(length(nil)), and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(isNatIList(zeros), tt))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, isNatIList(zeros)), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNatIList(zeros), and(isNat(0), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNatIList(zeros), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))))), X)T(X)and#(and(and(isNatIList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatIList(zeros), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, and(tt, and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(isNatIList(zeros), isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNat(0), tt), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNat(0), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(0), and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(tt, and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNat(0), tt), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNat(0)), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, tt), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNat(length(nil)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), and(isNatList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNat(0), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNat(0)), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(s(0)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(and(isNatIList(zeros), tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(tt, and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNatIList(zeros), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), tt), tt), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(isNatIList(nil), X)T(X)and#(and(and(isNat(0), tt), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(zeros), and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(0), tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNatIList(zeros), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(length(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, isNatIList(zeros)), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNat(s(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNat(s(0)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, tt), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(isNat(0), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNat(length(nil))), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNat(s(s(s(length(nil))))), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, isNatIList(nil)), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, tt)), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(isNatList(nil), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, isNatIList(nil)), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(tt, isNat(length(nil))), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(length(nil)), and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(s(s(0))), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(s(s(s(0)))), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(0), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(and(tt, and(and(isNatList(nil), tt), and(tt, isNatIList(zeros)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(isNatList(nil), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNatList(nil)), and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNatList(nil), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNatList(nil)), and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(tt, and(isNat(s(length(nil))), tt)), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(length(nil)), and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(and(and(and(tt, and(tt, tt)), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(tt, tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatIList(zeros), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(and(tt, isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(tt, and(isNat(0), isNatIList(zeros))), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNat(s(0)), and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(and(and(tt, tt), tt), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNat(0)), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(tt, and(tt, tt))), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(tt, isNat(length(nil))), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatIList(zeros), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(0), and(isNatList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(take(0, zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNat(0), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(tt, isNat(0)), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatIList(nil), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(and(isNatList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(isNat(0), and(tt, tt)), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, isNat(s(s(0)))), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(tt, and(and(and(and(and(tt, tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, and(tt, and(tt, and(tt, and(tt, and(tt, tt)))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(tt, and(isNat(0), tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNatIList(zeros), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, tt), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(and(and(tt, isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(isNat(0), and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(tt, and(and(isNatIList(nil), and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(tt, tt)), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, tt), and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatList(nil), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(tt, tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(tt, and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(isNat(0), X)T(X)and#(and(tt, and(tt, and(and(and(and(tt, isNat(length(nil))), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(isNat(0), and(and(and(isNatList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(tt, and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, isNatList(nil)), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(and(tt, tt), isNatList(nil))), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(s(0)), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(isNat(s(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(and(isNatList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(tt, and(and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(nil), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(s(length(nil))), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNat(length(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatList(nil), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatIList(nil), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(s(0))), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNatIList(zeros), tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(isNat(0), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNat(0), tt)), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNatIList(zeros), and(isNatIList(zeros), isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatIList(zeros), tt), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(isNat(s(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(0), and(and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatList(nil), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(and(tt, tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), and(tt, and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNat(0), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(and(tt, isNat(s(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNat(s(length(nil)))), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)isNatIList#(cons(V1, V2))and#(isNat(V1), isNatIList(V2))
and#(and(isNatList(nil), and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNatIList(zeros))), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), tt), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNat(length(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNat(0)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(isNat(s(0)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), tt), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNat(0), and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, tt), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNat(length(nil)))), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNatIList(zeros), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(nil), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(isNatList(nil), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, and(isNat(0), isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(and(tt, tt), isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(tt, tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNat(0)), and(isNat(s(0)), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(tt, and(isNatIList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(tt, isNat(s(0)))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(isNat(s(length(nil))), tt), and(tt, isNatIList(zeros)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(tt, and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, tt), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNatIList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(s(0)), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNat(0), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(and(isNat(length(nil)), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), tt), tt), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), tt), and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, tt), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(and(tt, tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(s(0)), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(and(isNatList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(and(tt, tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(isNat(0), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, and(tt, and(isNatList(nil), tt))), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNatList(nil), and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(tt, tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNat(0), and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNat(0))), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNatIList(zeros), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(and(isNat(0), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, tt)), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNat(0), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), tt), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNatList(nil), and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(length(nil)), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatIList(zeros), isNat(length(nil))), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNatList(nil), and(tt, tt))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNatList(nil)), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(isNatList(nil), isNatList(nil))), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNatIList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNatList(nil), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(cons(0, zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil))))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), tt), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(length(nil)), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatList(nil), and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(tt, and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(isNatIList(zeros), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, isNat(s(0))), and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatList(nil), and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(tt, tt), and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, tt), and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, and(tt, tt)), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(and(tt, isNat(length(nil))), and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatIList(nil), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(and(tt, tt), isNatList(nil)), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(isNat(0), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, isNat(0)), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(tt, isNat(0)), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(and(tt, tt), isNat(0))), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(tt, and(tt, isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(isNat(s(length(nil))), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(and(isNat(0), isNat(s(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNatList(nil), and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNat(0), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(and(tt, and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(s(0)), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(tt, and(isNat(0), isNat(s(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(nil), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNat(s(s(length(nil)))), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, tt), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNat(s(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(and(and(tt, tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, isNatIList(zeros)), tt), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNatList(nil), tt), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), and(isNat(s(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(tt, and(tt, and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(and(tt, tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, isNat(length(nil))), and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(isNatIList(nil), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(s(length(nil))), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(and(tt, isNat(0)), isNat(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(and(and(tt, isNat(length(nil))), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNat(length(nil)), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), tt), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, tt), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(length(nil)), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(and(and(tt, tt), tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(isNat(0), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(and(tt, isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(isNatIList(zeros), isNat(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNatIList(zeros), isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(isNatList(nil), and(tt, tt)), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(length(nil)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(tt, and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), tt), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatList(nil), and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(tt, tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(isNatIList(zeros), tt), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(tt, tt)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(tt, isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNatList(nil), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatList(nil), tt), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNatList(nil)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(s(0))), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, tt), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNat(length(nil)), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(isNatIList(zeros), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatList(nil), isNatIList(zeros)), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(nil), and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNatIList(zeros), and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(isNat(0), tt), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(isNat(s(0)), and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNatIList(zeros), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(tt, and(and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(isNatList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(tt, and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(isNat(0), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(s(0)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatIList(zeros), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, tt), tt), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(0), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(length(nil)), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(and(tt, and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNat(0))), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(0), and(and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, and(tt, tt)), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, isNat(s(length(nil)))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, and(tt, tt)), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(isNat(s(0)), tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(and(and(tt, tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, isNat(0)), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(isNatList(nil), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), and(tt, and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(and(tt, isNatIList(zeros)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatList(nil), and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatList(nil), and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(isNatList(nil), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(isNat(0), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNatList(nil), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(and(tt, and(tt, tt)), isNatList(nil)), and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(and(tt, tt), isNatList(nil)), and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(isNatList(nil), and(isNatIList(zeros), tt)))), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNat(0), isNatList(nil))), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatIList(nil), and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(and(tt, tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(isNat(0), isNat(0)), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(and(and(tt, tt), isNat(0)), tt)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNat(s(s(length(nil))))), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, tt), X)T(X)and#(and(and(tt, isNat(0)), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNat(0), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, isNatList(nil)), and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), tt), tt), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(s(length(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatList(nil), and(isNatList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(isNat(length(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatIList(zeros), and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(and(isNatList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, tt), and(and(and(tt, isNat(length(nil))), and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(tt, and(and(tt, tt), isNat(0))), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNat(length(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNatList(nil), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(isNat(0), isNat(0)), isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), and(isNat(s(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(isNat(0), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, isNat(s(0))), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(and(and(tt, tt), isNat(0)), isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNatList(nil)), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(isNatIList(zeros), tt), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(nil), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(and(and(tt, and(tt, isNatList(nil))), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNatIList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, tt), and(and(and(isNatList(nil), isNatList(nil)), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(isNatList(nil), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(and(isNatList(nil), tt), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNatIList(nil)), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatIList(nil), and(tt, tt))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNat(0)), and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(isNat(s(0)), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(and(and(isNatIList(zeros), tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, tt), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(and(tt, and(tt, tt)), isNatList(nil))), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatList(nil), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, isNat(s(s(length(nil))))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(and(tt, isNat(0)), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, isNat(0)), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatList(nil), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(isNatList(nil), and(tt, and(tt, and(tt, tt)))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), and(tt, and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(isNat(0), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatList(nil), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, tt), and(tt, and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatList(nil), and(and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(tt, and(tt, isNat(0))), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(and(tt, tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNat(length(nil))), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNatIList(zeros), tt)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, tt), isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(0), and(isNat(s(0)), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(and(tt, isNatList(nil)), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), tt), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatIList(nil), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNat(length(nil)), and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(tt, tt), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(tt, and(isNat(0), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(and(tt, and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(s(0)), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(isNatList(nil), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(tt, and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(length(nil)), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(tt, and(tt, isNat(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(tt, and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, and(tt, tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, isNatIList(zeros))), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(0), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(0), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(isNatList(nil), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(isNatIList(zeros), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(isNat(0), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, isNat(0)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNatList(nil), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNat(0), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatList(nil), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(tt, and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(length(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(length(nil)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(0), and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(isNatIList(zeros), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(nil), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(isNatList(nil), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(isNat(s(0)), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(isNat(0), tt), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(isNat(s(0)), and(tt, and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(isNat(s(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, isNatIList(zeros)), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(and(isNat(length(nil)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(and(tt, tt), isNatList(nil))), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(nil), and(isNatList(nil), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(isNatIList(zeros), isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(length(nil)), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNatList(nil), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(isNat(0), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, and(and(tt, tt), and(isNat(length(nil)), and(tt, isNatIList(nil))))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(isNat(0), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(tt, and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, tt), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, and(isNat(0), tt)), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(isNat(0), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(tt, and(isNatList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNat(s(s(0))), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatList(nil), isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, isNatIList(zeros)), isNatList(nil)), X)T(X)
and#(and(tt, and(and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(isNat(s(0)), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatList(nil), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(and(tt, isNatList(nil)), tt)), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(s(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(0), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), and(isNatIList(zeros), isNatList(nil))), X)T(X)and#(and(and(tt, and(and(tt, isNatList(nil)), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNatList(nil)), and(isNat(0), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(tt, tt), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(zeros), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNatIList(nil), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNatList(nil), isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(tt, tt)), and(isNat(length(nil)), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), and(isNat(s(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(0), tt), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(s(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, and(tt, and(isNat(length(nil)), and(tt, isNatIList(nil))))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, and(tt, isNat(s(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(isNatList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, tt), and(and(and(and(and(tt, isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNat(0), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNatIList(zeros)), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(and(tt, tt), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNat(0), tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(isNat(0), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(isNat(0), and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), and(tt, isNatIList(zeros)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(length(nil)), and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, tt), and(isNatIList(zeros), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, isNatIList(zeros)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), and(tt, and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNatIList(zeros), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(and(tt, isNatIList(nil)), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(isNat(s(0)), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(tt, and(tt, and(tt, isNatIList(zeros)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNatIList(zeros)), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNatIList(zeros), and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(0), isNat(0)), and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(tt, and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))))), X)T(X)and#(and(tt, and(tt, and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(isNatIList(zeros), and(tt, isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(isNat(0), tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(and(isNatList(nil), and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(tt, and(tt, tt)), and(tt, and(and(and(isNat(0), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)and#(and(and(and(and(isNatIList(zeros), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(tt, isNatList(nil))), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(and(and(and(tt, tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(isNat(s(s(0))), and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(isNat(s(0)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), tt), and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(tt, and(tt, and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(isNatList(nil), isNat(length(nil))), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(isNat(s(s(length(nil)))), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNat(0), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatList(nil), and(and(isNatIList(zeros), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(tt, and(and(isNat(0), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))))), X)T(X)
and#(and(and(and(and(tt, tt), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNatList(nil), tt), isNatList(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatIList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatList(take(0, zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(tt, tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatList(nil), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNat(length(nil))), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(0), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(and(tt, tt), and(and(isNat(0), and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(isNatIList(zeros), isNatList(nil)))), X)T(X)
and#(and(isNatList(nil), isNatList(nil)), X)T(X)and#(and(and(isNat(0), and(and(isNat(0), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(0)), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(isNatList(nil), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(isNatIList(zeros), and(tt, and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNat(s(0)), and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, and(and(and(and(tt, isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(isNat(0), and(tt, and(and(isNatList(nil), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, isNat(0)), and(tt, and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(tt, isNat(s(length(nil)))), tt), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(tt, isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, and(tt, and(isNat(0), isNat(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(tt, and(tt, and(and(and(tt, tt), isNatIList(zeros)), and(tt, isNatList(nil)))))), X)T(X)
T(isNat(x_1))T(x_1)and#(and(and(and(and(isNat(0), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, isNatList(nil)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), and(isNatList(nil), isNatList(nil))), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(and(isNatIList(zeros), tt), and(tt, tt)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(tt, and(isNat(0), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNat(length(nil)), tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(isNat(length(nil)), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, tt), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(and(tt, tt), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, isNatList(nil)), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(tt, tt))), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, and(isNatList(nil), and(isNat(0), isNat(0)))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(tt, isNatIList(nil)), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, tt), and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(and(tt, tt), isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(and(isNatIList(zeros), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), isNatList(nil)), X)T(X)and#(and(and(and(and(tt, and(isNat(0), isNatIList(zeros))), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNat(0), tt), and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(tt, isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(isNat(0), and(isNatIList(nil), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNat(0), and(and(and(and(and(tt, isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNat(0), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNat(0), and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, tt), and(and(isNatList(nil), tt), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(and(and(isNatList(nil), isNat(0)), isNat(0)), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(isNat(s(0)), tt), tt), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNatIList(zeros)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), tt), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(isNatIList(zeros), and(and(and(tt, and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(tt, and(and(isNatList(nil), and(and(tt, and(tt, tt)), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(tt, and(and(tt, and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(isNat(0), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, tt), tt), and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(tt, and(isNatIList(zeros), tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(isNatList(nil), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, isNatList(nil)), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatList(nil), and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(0)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, isNatIList(zeros))), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(and(isNatList(nil), tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(tt, and(isNatList(nil), tt)))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatList(nil), and(and(tt, tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(and(isNat(0), isNat(s(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(s(0)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNatList(nil)), and(tt, and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, and(and(tt, tt), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNatIList(zeros), and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(tt, and(and(and(isNat(0), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatList(nil), and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(0), and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(isNatList(nil), and(isNatList(nil), tt))), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNatIList(zeros), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), and(and(and(and(and(tt, tt), isNat(0)), tt), tt), and(isNatList(nil), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(isNat(0), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNat(s(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(and(tt, and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(and(isNat(s(length(nil))), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(tt, and(isNatList(nil), and(isNatList(nil), and(tt, and(tt, and(tt, tt)))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), and(isNatList(nil), tt)), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(isNatList(nil), isNatList(nil)), tt)), and(and(tt, and(and(tt, and(isNat(s(0)), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(and(and(tt, tt), isNat(0)), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(0), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(and(tt, isNat(0)), isNat(0)), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(tt, tt), and(and(and(and(isNat(0), isNat(s(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(isNatIList(zeros), and(and(and(tt, and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(isNat(s(length(nil))), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNatIList(zeros), and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(tt, and(isNat(s(0)), isNat(0)))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, tt), and(tt, and(and(isNat(s(0)), isNat(0)), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(tt, and(isNatList(nil), and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(and(and(isNat(0), isNatIList(zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(and(isNatIList(zeros), tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(and(tt, tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, isNat(s(0))), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(isNat(length(take(0, zeros))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, isNat(0)), and(tt, and(and(and(isNat(s(0)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(isNatIList(zeros), tt)), and(and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(isNat(0), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), tt), and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatIList(zeros), isNatIList(zeros)), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(and(isNat(length(nil)), and(isNatIList(zeros), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatList(nil), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(tt, and(and(tt, tt), tt)), and(tt, isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, tt), tt), and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(isNatList(nil), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(isNat(s(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), tt), tt), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(tt, isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(and(tt, isNatIList(zeros)), tt), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(and(tt, and(and(and(tt, isNat(0)), tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNat(s(length(nil))), and(isNat(0), isNat(0))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(tt, and(tt, and(tt, and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(and(and(and(tt, tt), isNatList(nil)), and(isNat(0), isNat(0))), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(and(and(tt, isNatList(nil)), and(isNat(0), isNat(0))), tt), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(and(and(and(isNat(0), tt), isNat(0)), isNatIList(zeros)), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(isNat(s(0)), isNatIList(zeros)), and(and(and(isNatIList(zeros), and(isNatIList(nil), and(tt, isNatIList(nil)))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(tt, and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(and(tt, tt), isNatIList(zeros)), and(and(and(tt, isNatList(nil)), tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil))), X)T(X)and#(and(tt, and(isNat(0), and(and(isNatIList(zeros), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(and(isNat(0), and(isNatList(nil), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)and#(and(tt, and(and(and(tt, and(isNat(s(0)), tt)), tt), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X)T(X)
and#(and(and(tt, tt), and(and(and(and(tt, isNat(s(0))), isNat(0)), isNatIList(zeros)), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(cons(0, zeros)), and(tt, and(tt, tt))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(isNatList(nil), and(isNat(s(0)), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(isNatIList(zeros), and(and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(isNatList(nil), and(tt, and(tt, and(tt, and(tt, tt))))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(isNatIList(zeros), and(tt, and(tt, tt)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(tt, tt), and(tt, isNatIList(zeros)))), and(and(isNat(s(0)), tt), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, tt)), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))), X)T(X)
and#(and(tt, and(and(and(tt, tt), and(tt, and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(tt, and(isNat(s(length(nil))), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(tt, and(isNat(s(0)), and(and(isNatIList(zeros), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil))))), X)T(X)and#(and(and(tt, and(and(tt, tt), tt)), and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros))))), and(tt, isNatList(nil)))), X)T(X)
and#(and(and(and(and(tt, tt), and(tt, tt)), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)and#(and(and(and(tt, and(tt, and(tt, tt))), isNatIList(zeros)), and(tt, isNatList(nil))), X)T(X)
and#(and(isNatIList(zeros), and(and(isNatList(nil), and(and(tt, tt), and(tt, isNatIList(zeros)))), and(tt, isNatList(nil)))), X)T(X)and#(and(and(and(isNatIList(zeros), and(tt, isNatIList(nil))), and(isNat(0), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)
and#(and(and(and(tt, and(and(and(tt, isNat(0)), tt), tt)), and(isNatList(nil), isNatIList(zeros))), and(tt, isNatList(nil))), X)T(X)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule and#(and(and(tt, and(and(tt, tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X) → T(X) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
and#(and(and(isNat(0), and(and(tt, tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X) 
and#(and(and(tt, and(tt, and(and(tt, tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X) 
and#(and(and(isNatIList(zeros), and(and(tt, tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X) 
and#(and(tt, and(and(tt, and(and(tt, tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X) 
and#(and(and(isNatList(nil), and(and(tt, tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X) 
and#(and(and(and(tt, tt), and(and(tt, tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X) 
Thus, the rule and#(and(and(tt, and(and(tt, tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X) → T(X) is replaced by the following rules:
and#(and(and(isNatList(nil), and(and(tt, tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X) → T(X)and#(and(tt, and(and(tt, and(and(tt, tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil))))), X) → T(X)
and#(and(and(tt, and(tt, and(and(tt, tt), tt))), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X) → T(X)and#(and(and(and(tt, tt), and(and(tt, tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X) → T(X)
and#(and(and(isNat(0), and(and(tt, tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X) → T(X)and#(and(and(isNatIList(zeros), and(and(tt, tt), tt)), and(and(tt, and(tt, isNatIList(zeros))), and(tt, isNatList(nil)))), X) → T(X)

Problem 3: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

U11#(tt, L)length#(L)length#(cons(N, L))U11#(and(isNatList(L), isNat(N)), L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule U11#(tt, L) → length#(L) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
U11#(isNatList(nil), L) 
U11#(isNatIList(zeros), L) 
U11#(isNat(0), L) 
U11#(and(tt, tt), L) 
Thus, the rule U11#(tt, L) → length#(L) is replaced by the following rules:
U11#(and(tt, tt), L) → length#(L)U11#(isNat(0), L) → length#(L)
U11#(isNatIList(zeros), L) → length#(L)U11#(isNatList(nil), L) → length#(L)

Problem 9: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

U11#(and(tt, tt), L)length#(L)length#(cons(N, L))U11#(and(isNatList(L), isNat(N)), L)
U11#(isNat(0), L)length#(L)U11#(isNatIList(zeros), L)length#(L)
U11#(isNatList(nil), L)length#(L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule U11#(and(tt, tt), L) → length#(L) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
U11#(and(isNatList(nil), tt), L) 
U11#(and(isNat(0), tt), L) 
U11#(and(and(tt, tt), tt), L) 
U11#(and(tt, and(tt, tt)), L) 
U11#(and(isNatIList(zeros), tt), L) 
Thus, the rule U11#(and(tt, tt), L) → length#(L) is replaced by the following rules:
U11#(and(tt, and(tt, tt)), L) → length#(L)U11#(and(isNat(0), tt), L) → length#(L)
U11#(and(isNatIList(zeros), tt), L) → length#(L)U11#(and(and(tt, tt), tt), L) → length#(L)
U11#(and(isNatList(nil), tt), L) → length#(L)

Problem 12: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

U11#(and(tt, and(tt, tt)), L)length#(L)U11#(and(isNat(0), tt), L)length#(L)
U11#(isNatIList(zeros), L)length#(L)U11#(isNat(0), L)length#(L)
length#(cons(N, L))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatIList(zeros), tt), L)length#(L)
U11#(isNatList(nil), L)length#(L)U11#(and(and(tt, tt), tt), L)length#(L)
U11#(and(isNatList(nil), tt), L)length#(L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule U11#(and(tt, and(tt, tt)), L) → length#(L) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
U11#(and(and(tt, tt), and(tt, tt)), L) 
U11#(and(tt, and(tt, and(tt, tt))), L) 
U11#(and(isNatIList(zeros), and(tt, tt)), L) 
U11#(and(isNatList(nil), and(tt, tt)), L) 
U11#(and(isNat(0), and(tt, tt)), L) 
Thus, the rule U11#(and(tt, and(tt, tt)), L) → length#(L) is replaced by the following rules:
U11#(and(isNat(0), and(tt, tt)), L) → length#(L)U11#(and(isNatIList(zeros), and(tt, tt)), L) → length#(L)
U11#(and(isNatList(nil), and(tt, tt)), L) → length#(L)U11#(and(and(tt, tt), and(tt, tt)), L) → length#(L)
U11#(and(tt, and(tt, and(tt, tt))), L) → length#(L)

Problem 16: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

length#(cons(N, L))U11#(and(isNatList(L), isNat(N)), L)U11#(isNatIList(zeros), L)length#(L)
U11#(and(isNatIList(zeros), tt), L)length#(L)U11#(and(isNatList(nil), and(tt, tt)), L)length#(L)
U11#(and(isNatList(nil), tt), L)length#(L)U11#(and(isNat(0), and(tt, tt)), L)length#(L)
U11#(and(isNat(0), tt), L)length#(L)U11#(and(isNatIList(zeros), and(tt, tt)), L)length#(L)
U11#(isNat(0), L)length#(L)U11#(isNatList(nil), L)length#(L)
U11#(and(and(tt, tt), and(tt, tt)), L)length#(L)U11#(and(tt, and(tt, and(tt, tt))), L)length#(L)
U11#(and(and(tt, tt), tt), L)length#(L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule length#(cons(N, L)) → U11#(and(isNatList(L), isNat(N)), L) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
length#(U31(tt, _x21, _x22, _x23)) 
length#(and(tt, cons(N, L))) 
length#(zeros) 
Thus, the rule length#(cons(N, L)) → U11#(and(isNatList(L), isNat(N)), L) is replaced by the following rules:
length#(and(tt, cons(N, L))) → U11#(and(isNatList(L), isNat(N)), L)length#(U31(tt, _x21, _x22, _x23)) → U11#(and(isNatList(take(_x22, _x21)), isNat(_x23)), take(_x22, _x21))
length#(zeros) → U11#(and(isNatList(zeros), isNat(0)), zeros)

Problem 19: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

length#(and(tt, cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(zeros)U11#(and(isNatList(zeros), isNat(0)), zeros)
U11#(isNatIList(zeros), L)length#(L)U11#(and(isNatIList(zeros), tt), L)length#(L)
U11#(and(isNatList(nil), and(tt, tt)), L)length#(L)U11#(and(isNatList(nil), tt), L)length#(L)
length#(U31(tt, _x21, _x22, _x23))U11#(and(isNatList(take(_x22, _x21)), isNat(_x23)), take(_x22, _x21))U11#(and(isNat(0), and(tt, tt)), L)length#(L)
U11#(and(isNat(0), tt), L)length#(L)U11#(and(isNatIList(zeros), and(tt, tt)), L)length#(L)
U11#(isNat(0), L)length#(L)U11#(and(tt, and(tt, and(tt, tt))), L)length#(L)
U11#(isNatList(nil), L)length#(L)U11#(and(and(tt, tt), and(tt, tt)), L)length#(L)
U11#(and(and(tt, tt), tt), L)length#(L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule length#(and(tt, cons(N, L))) → U11#(and(isNatList(L), isNat(N)), L) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
length#(and(isNat(0), cons(N, L))) 
length#(and(isNatIList(zeros), cons(N, L))) 
length#(and(isNatList(nil), cons(N, L))) 
length#(and(tt, and(tt, cons(N, L)))) 
length#(and(and(tt, tt), cons(N, L))) 
Thus, the rule length#(and(tt, cons(N, L))) → U11#(and(isNatList(L), isNat(N)), L) is replaced by the following rules:
length#(and(tt, and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatList(nil), cons(N, L))) → U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(0), cons(N, L))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatIList(zeros), cons(N, L))) → U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, tt), cons(N, L))) → U11#(and(isNatList(L), isNat(N)), L)

Problem 21: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

length#(and(tt, and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatIList(zeros), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)
length#(zeros)U11#(and(isNatList(zeros), isNat(0)), zeros)U11#(isNatIList(zeros), L)length#(L)
U11#(and(isNatIList(zeros), tt), L)length#(L)U11#(and(isNatList(nil), and(tt, tt)), L)length#(L)
U11#(and(isNatList(nil), tt), L)length#(L)length#(U31(tt, _x21, _x22, _x23))U11#(and(isNatList(take(_x22, _x21)), isNat(_x23)), take(_x22, _x21))
U11#(and(isNat(0), and(tt, tt)), L)length#(L)length#(and(isNatList(nil), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(0), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNat(0), tt), L)length#(L)
U11#(and(isNatIList(zeros), and(tt, tt)), L)length#(L)U11#(isNat(0), L)length#(L)
length#(and(and(tt, tt), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)U11#(and(and(tt, tt), and(tt, tt)), L)length#(L)
U11#(isNatList(nil), L)length#(L)U11#(and(tt, and(tt, and(tt, tt))), L)length#(L)
U11#(and(and(tt, tt), tt), L)length#(L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule length#(and(tt, and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
length#(and(isNatIList(zeros), and(tt, cons(N, L)))) 
length#(and(and(tt, tt), and(tt, cons(N, L)))) 
length#(and(isNat(0), and(tt, cons(N, L)))) 
length#(and(isNatList(nil), and(tt, cons(N, L)))) 
length#(and(tt, and(tt, and(tt, cons(N, L))))) 
Thus, the rule length#(and(tt, and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L) is replaced by the following rules:
length#(and(isNatIList(zeros), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, tt), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatList(nil), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(isNat(0), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(tt, and(tt, cons(N, L))))) → U11#(and(isNatList(L), isNat(N)), L)

Problem 25: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

length#(and(isNatIList(zeros), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatIList(zeros), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)
length#(zeros)U11#(and(isNatList(zeros), isNat(0)), zeros)U11#(isNatIList(zeros), L)length#(L)
length#(and(isNat(0), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatList(nil), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNatIList(zeros), tt), L)length#(L)U11#(and(isNatList(nil), and(tt, tt)), L)length#(L)
length#(and(tt, and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatList(nil), tt), L)length#(L)
length#(U31(tt, _x21, _x22, _x23))U11#(and(isNatList(take(_x22, _x21)), isNat(_x23)), take(_x22, _x21))U11#(and(isNat(0), and(tt, tt)), L)length#(L)
length#(and(isNatList(nil), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNat(0), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, tt), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatIList(zeros), and(tt, tt)), L)length#(L)
U11#(and(isNat(0), tt), L)length#(L)U11#(isNat(0), L)length#(L)
length#(and(and(tt, tt), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)U11#(and(tt, and(tt, and(tt, tt))), L)length#(L)
U11#(isNatList(nil), L)length#(L)U11#(and(and(tt, tt), and(tt, tt)), L)length#(L)
U11#(and(and(tt, tt), tt), L)length#(L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule length#(and(isNatIList(zeros), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
length#(and(and(tt, isNatIList(zeros)), and(tt, cons(N, L)))) 
length#(and(tt, and(isNatIList(zeros), and(tt, cons(N, L))))) 
Thus, the rule length#(and(isNatIList(zeros), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L) is replaced by the following rules:
length#(and(tt, and(isNatIList(zeros), and(tt, cons(N, L))))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, isNatIList(zeros)), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)

Problem 28: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

length#(and(and(tt, isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(isNatIList(zeros), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(zeros), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(zeros)U11#(and(isNatList(zeros), isNat(0)), zeros)
U11#(isNatIList(zeros), L)length#(L)length#(and(isNat(0), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatList(nil), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatIList(zeros), tt), L)length#(L)
U11#(and(isNatList(nil), and(tt, tt)), L)length#(L)length#(and(tt, and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNatList(nil), tt), L)length#(L)length#(U31(tt, _x21, _x22, _x23))U11#(and(isNatList(take(_x22, _x21)), isNat(_x23)), take(_x22, _x21))
U11#(and(isNat(0), and(tt, tt)), L)length#(L)length#(and(isNatList(nil), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, tt), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNat(0), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNat(0), tt), L)length#(L)U11#(and(isNatIList(zeros), and(tt, tt)), L)length#(L)
U11#(isNat(0), L)length#(L)length#(and(and(tt, tt), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(and(tt, tt), and(tt, tt)), L)length#(L)U11#(isNatList(nil), L)length#(L)
U11#(and(tt, and(tt, and(tt, tt))), L)length#(L)U11#(and(and(tt, tt), tt), L)length#(L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule length#(and(and(tt, isNatIList(zeros)), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
length#(and(tt, and(and(tt, isNatIList(zeros)), and(tt, cons(N, L))))) 
length#(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, cons(N, L)))) 
length#(and(and(tt, and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) 
length#(and(and(and(tt, tt), isNatIList(zeros)), and(tt, cons(N, L)))) 
length#(and(and(isNat(0), isNatIList(zeros)), and(tt, cons(N, L)))) 
length#(and(and(isNatList(nil), isNatIList(zeros)), and(tt, cons(N, L)))) 
Thus, the rule length#(and(and(tt, isNatIList(zeros)), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L) is replaced by the following rules:
length#(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(0), isNatIList(zeros)), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatList(nil), isNatIList(zeros)), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, tt), isNatIList(zeros)), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(tt, isNatIList(zeros)), and(tt, cons(N, L))))) → U11#(and(isNatList(L), isNat(N)), L)

Problem 32: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

length#(zeros)U11#(and(isNatList(zeros), isNat(0)), zeros)length#(and(and(tt, and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(isNatIList(zeros), L)length#(L)length#(and(isNat(0), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNatIList(zeros), tt), L)length#(L)U11#(and(isNatList(nil), and(tt, tt)), L)length#(L)
length#(and(and(and(tt, tt), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNatList(nil), tt), L)length#(L)length#(and(and(isNat(0), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(U31(tt, _x21, _x22, _x23))U11#(and(isNatList(take(_x22, _x21)), isNat(_x23)), take(_x22, _x21))U11#(and(isNat(0), and(tt, tt)), L)length#(L)
length#(and(isNatList(nil), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatList(nil), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(0), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, tt), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNatIList(zeros), and(tt, tt)), L)length#(L)U11#(and(isNat(0), tt), L)length#(L)
U11#(isNat(0), L)length#(L)U11#(and(tt, and(tt, and(tt, tt))), L)length#(L)
U11#(and(and(tt, tt), and(tt, tt)), L)length#(L)length#(and(tt, and(isNatIList(zeros), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(zeros), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatList(nil), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, tt), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)
U11#(isNatList(nil), L)length#(L)U11#(and(and(tt, tt), tt), L)length#(L)
length#(and(tt, and(and(tt, isNatIList(zeros)), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule length#(and(and(tt, and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
length#(and(tt, and(and(tt, and(tt, isNatIList(zeros))), and(tt, cons(N, L))))) 
length#(and(and(isNat(0), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) 
length#(and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) 
length#(and(and(isNatIList(zeros), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) 
length#(and(and(tt, and(tt, and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))) 
length#(and(and(and(tt, tt), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) 
Thus, the rule length#(and(and(tt, and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L) is replaced by the following rules:
length#(and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(tt, and(tt, isNatIList(zeros))), and(tt, cons(N, L))))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(0), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatIList(zeros), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)

Problem 34: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

length#(and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(zeros)U11#(and(isNatList(zeros), isNat(0)), zeros)
length#(and(and(isNat(0), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(isNatIList(zeros), L)length#(L)
length#(and(isNat(0), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatList(nil), and(tt, tt)), L)length#(L)
U11#(and(isNatIList(zeros), tt), L)length#(L)length#(and(and(and(tt, tt), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNatList(nil), tt), L)length#(L)length#(and(tt, and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(0), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(U31(tt, _x21, _x22, _x23))U11#(and(isNatList(take(_x22, _x21)), isNat(_x23)), take(_x22, _x21))U11#(and(isNat(0), and(tt, tt)), L)length#(L)
length#(and(isNatList(nil), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatList(nil), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(0), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, tt), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNatIList(zeros), and(tt, tt)), L)length#(L)U11#(and(isNat(0), tt), L)length#(L)
U11#(isNat(0), L)length#(L)U11#(and(tt, and(tt, and(tt, tt))), L)length#(L)
U11#(and(and(tt, tt), and(tt, tt)), L)length#(L)length#(and(and(tt, and(tt, and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(tt, and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(isNatIList(zeros), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(zeros), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatList(nil), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, tt), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)
U11#(isNatList(nil), L)length#(L)length#(and(and(isNatIList(zeros), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(and(tt, tt), tt), L)length#(L)length#(and(tt, and(and(tt, isNatIList(zeros)), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule length#(and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
length#(and(and(isNatIList(nil), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) 
length#(and(and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) 
length#(and(and(tt, and(isNatList(nil), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))) 
length#(and(and(isNat(length(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) 
length#(and(tt, and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))) 
Thus, the rule length#(and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L) is replaced by the following rules:
length#(and(and(isNatIList(nil), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(isNatList(nil), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(length(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))) → U11#(and(isNatList(L), isNat(N)), L)

Problem 37: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

length#(and(and(and(isNatList(nil), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(isNat(0), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(isNat(0), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(tt, and(tt, and(tt, and(tt, and(isNatIList(zeros), tt))))), L)length#(L)
U11#(and(tt, isNatIList(zeros)), L)length#(L)length#(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(and(tt, isNatList(nil)), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(and(tt, isNatIList(zeros)), tt), L)length#(L)length#(and(tt, and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, tt), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNat(0), and(tt, and(isNatIList(zeros), tt))), L)length#(L)
U11#(isNatList(nil), L)length#(L)length#(and(and(and(tt, and(isNatList(nil), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(isNat(0), isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatIList(zeros), and(isNatIList(zeros), tt)), L)length#(L)
length#(and(isNatIList(zeros), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatList(nil), and(isNatIList(zeros), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatIList(zeros), and(tt, and(tt, and(isNatIList(zeros), tt)))), L)length#(L)
length#(zeros)U11#(and(isNatList(zeros), isNat(0)), zeros)length#(and(and(and(isNatIList(zeros), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, tt), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNat(s(s(0))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, isNat(0)), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(isNatIList(zeros), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNatIList(nil), and(isNatIList(zeros), tt)), L)length#(L)U11#(and(isNatIList(nil), and(tt, tt)), L)length#(L)
U11#(and(isNat(0), and(tt, tt)), L)length#(L)U11#(and(isNat(0), and(isNatIList(zeros), tt)), L)length#(L)
length#(and(isNatList(nil), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, tt), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(0), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNat(0), tt), L)length#(L)
U11#(and(isNatIList(zeros), and(tt, tt)), L)length#(L)length#(and(tt, and(and(and(isNatList(nil), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
U11#(isNat(0), L)length#(L)length#(and(and(and(tt, isNatIList(zeros)), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatIList(nil), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, isNat(0)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, isNatIList(zeros)), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(tt, and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, isNat(0)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(tt, and(isNatList(nil), and(tt, tt))), L)length#(L)
U11#(and(and(tt, isNatList(nil)), and(tt, tt)), L)length#(L)length#(and(isNatList(nil), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(isNatIList(zeros), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatIList(zeros), and(tt, isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(and(tt, isNatList(nil)), and(isNatIList(zeros), tt)), L)length#(L)length#(and(isNatIList(cons(0, zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatList(nil), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(s(0)), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(tt, and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(tt, and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatIList(zeros), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(0), and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(isNat(0), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(isNat(s(0)), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(tt, and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(and(tt, tt), and(tt, and(isNatIList(zeros), tt))), L)length#(L)
length#(and(and(and(and(tt, tt), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(isNatIList(zeros), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(isNatIList(zeros), isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, tt), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(tt, and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatList(nil), and(tt, and(isNatIList(zeros), tt))), L)length#(L)
length#(and(and(isNatList(nil), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, tt), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(and(tt, tt), isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(isNat(0), isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNat(0), and(tt, and(tt, and(isNatIList(zeros), tt)))), L)length#(L)U11#(and(isNat(length(nil)), and(isNatIList(zeros), tt)), L)length#(L)
length#(and(tt, and(and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(tt, and(tt, tt))), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, tt), and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(isNat(0), isNat(length(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(tt, and(isNatList(nil), and(isNatIList(zeros), tt))), L)length#(L)
length#(and(isNatIList(zeros), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, tt), and(tt, isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatList(nil), and(tt, isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(0), and(isNatIList(zeros), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(isNat(0), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNat(length(nil)), and(tt, tt)), L)length#(L)length#(and(and(tt, and(and(tt, isNat(length(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(isNat(0), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNatIList(zeros), and(tt, and(isNatIList(zeros), tt))), L)length#(L)length#(and(and(isNat(s(0)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatList(nil), and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(isNatIList(zeros), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, isNat(0)), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(isNatList(nil), isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(0), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(tt, isNatIList(zeros)), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(and(tt, tt), and(isNatIList(zeros), tt)), L)length#(L)length#(and(and(and(tt, and(tt, isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(tt, and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, isNat(0)), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(s(0)), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(isNat(0), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatList(nil), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, and(tt, isNatList(nil))), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatList(nil), tt), L)length#(L)
length#(and(isNatList(take(0, zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatIList(zeros), and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(0), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatIList(nil), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(isNat(0), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(U31(tt, _x21, _x22, _x23))U11#(and(isNatList(take(_x22, _x21)), isNat(_x23)), take(_x22, _x21))length#(and(and(tt, and(isNat(length(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(isNatIList(zeros), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNat(s(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(0), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatList(nil), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatIList(zeros), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(0), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatList(nil), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, isNat(0)), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(0), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(tt, and(tt, and(tt, tt))), L)length#(L)U11#(and(and(tt, tt), and(tt, tt)), L)length#(L)
length#(and(and(and(tt, tt), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(isNat(s(0)), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(isNat(0), tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(tt, and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(zeros), and(isNatIList(zeros), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(isNat(0), isNatIList(zeros)), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(isNatIList(zeros), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, isNat(s(0))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatList(nil), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, tt), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(s(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(isNat(0), isNat(length(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(isNatList(nil), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(tt, and(tt, isNatList(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(isNat(length(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(and(tt, tt), and(tt, and(tt, and(isNatIList(zeros), tt)))), L)length#(L)length#(and(and(tt, tt), and(isNatIList(zeros), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(isNatList(nil), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatList(nil), and(tt, and(tt, and(isNatIList(zeros), tt)))), L)length#(L)
length#(and(and(and(isNatList(nil), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(s(0)), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatList(nil), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(tt, and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(0), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(length(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(tt, tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(tt, isNat(length(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(tt, and(isNatIList(zeros), and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(0), and(tt, isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(and(tt, tt), tt), L)length#(L)length#(and(and(and(and(tt, tt), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule length#(and(and(and(isNatList(nil), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
length#(and(and(and(isNatIList(nil), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))) 
length#(and(tt, and(and(and(isNatList(nil), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))) 
length#(and(and(and(and(tt, isNatList(nil)), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))) 
length#(and(and(and(tt, and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))) 
length#(and(and(tt, and(and(isNatList(nil), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L)))) 
length#(and(and(and(isNat(length(nil)), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))) 
Thus, the rule length#(and(and(and(isNatList(nil), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L) is replaced by the following rules:
length#(and(tt, and(and(and(isNatList(nil), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(isNatList(nil), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatIList(nil), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, isNatList(nil)), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(length(nil)), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)

Problem 40: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

U11#(and(isNatList(nil), isNatIList(zeros)), L)length#(L)length#(and(and(and(and(isNat(0), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(zeros), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatIList(zeros), and(isNatIList(zeros), tt)), L)length#(L)
length#(and(and(tt, isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatList(nil), and(and(tt, isNatList(nil)), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(0), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(0), and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(zeros)U11#(and(isNatList(zeros), isNat(0)), zeros)
U11#(and(isNatIList(zeros), and(tt, and(tt, and(isNatIList(zeros), tt)))), L)length#(L)length#(and(and(and(isNatIList(zeros), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(isNat(0), tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, isNat(0)), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatIList(nil), and(isNatIList(zeros), tt)), L)length#(L)
length#(and(and(and(and(and(tt, tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, isNatIList(zeros)), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNat(0), and(tt, tt)), L)length#(L)length#(and(isNatList(nil), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, tt), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNat(0), tt), L)length#(L)
length#(and(and(and(tt, isNatIList(zeros)), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(isNat(0), L)length#(L)
length#(and(tt, and(and(and(isNatList(nil), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatIList(nil), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, isNat(0)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(tt, and(isNatList(nil), and(tt, tt))), L)length#(L)
U11#(and(and(tt, isNatList(nil)), and(tt, tt)), L)length#(L)length#(and(and(and(isNatIList(zeros), and(tt, isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatList(nil), and(isNat(0), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(cons(0, zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatList(nil), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(tt, and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(tt, and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatIList(zeros), and(tt, and(and(tt, tt), cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(0), and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(and(tt, tt), and(tt, and(isNatIList(zeros), tt))), L)length#(L)length#(and(tt, and(and(and(tt, and(and(tt, isNatList(nil)), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(isNatIList(zeros), isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(isNatIList(zeros), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(isNatList(nil), tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(and(tt, tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, tt), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), and(and(tt, isNatList(nil)), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(0), and(tt, and(and(tt, tt), cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(tt, and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(0), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNat(0), and(and(tt, tt), cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatIList(nil), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), tt), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatList(nil), and(tt, isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatIList(zeros), tt), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, tt), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(isNat(0), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(0), and(isNatIList(zeros), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNat(length(nil)), and(tt, tt)), L)length#(L)
U11#(and(isNatIList(zeros), and(tt, and(isNatIList(zeros), tt))), L)length#(L)length#(and(and(and(isNatList(nil), and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(tt, and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatIList(zeros), isNatIList(zeros)), L)length#(L)
length#(and(and(isNat(0), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, tt)), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(tt, isNatIList(zeros)), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, tt), and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(tt, isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(0), tt), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatList(nil), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNatList(nil), tt), L)length#(L)length#(and(and(and(and(isNatIList(zeros), tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatList(take(0, zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(0), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatIList(nil), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(isNat(0), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(isNat(length(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, isNatIList(zeros)), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(isNatIList(zeros), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNat(s(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatList(nil), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(0), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatList(nil), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatList(nil), and(and(tt, tt), cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(tt, and(tt, and(tt, tt))), L)length#(L)
U11#(and(and(tt, tt), and(tt, tt)), L)length#(L)length#(and(tt, and(and(tt, and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(zeros), and(isNatIList(zeros), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(isNat(0), isNatIList(zeros)), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(isNatIList(zeros), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(isNatList(nil), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(s(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(tt, and(isNat(0), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatIList(zeros), and(isNat(0), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(isNatList(nil), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(and(tt, tt), and(tt, and(tt, and(isNatIList(zeros), tt)))), L)length#(L)
length#(and(and(and(isNat(s(0)), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, tt), and(and(tt, isNatList(nil)), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(tt, and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(length(nil)), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(length(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(length(nil)), and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNat(0), and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(0), and(tt, isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(and(tt, tt), tt), L)length#(L)
length#(and(and(and(and(tt, tt), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatList(nil), and(tt, and(and(tt, tt), cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, tt), and(and(tt, tt), cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, and(tt, tt)), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(zeros), and(and(tt, tt), cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(isNatIList(zeros), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(isNatIList(zeros), and(tt, and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, tt), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(isNat(0), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, and(isNat(0), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(tt, and(tt, and(tt, and(tt, and(isNatIList(zeros), tt))))), L)length#(L)length#(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(isNatList(nil), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(0), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(and(tt, tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(and(tt, isNatIList(zeros)), tt), L)length#(L)U11#(and(isNat(0), and(tt, and(isNatIList(zeros), tt))), L)length#(L)
U11#(isNatList(nil), L)length#(L)length#(and(and(and(tt, and(isNatList(nil), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(isNat(0), isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatList(nil), and(isNatIList(zeros), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, tt), and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(0), and(isNat(0), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(s(s(0))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(isNatIList(zeros), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(nil), and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatIList(nil), and(tt, tt)), L)length#(L)
U11#(and(isNat(0), and(isNatIList(zeros), tt)), L)length#(L)U11#(and(tt, and(tt, isNatIList(zeros))), L)length#(L)
length#(and(and(and(isNat(0), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatIList(zeros), and(tt, tt)), L)length#(L)
length#(and(and(and(isNatIList(zeros), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, isNat(0)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, isNatIList(zeros)), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(tt, and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatList(nil), tt), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, isNatList(nil)), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(isNatIList(zeros), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatList(nil), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(isNatList(nil), and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(tt, and(tt, and(and(tt, tt), cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(and(tt, isNatList(nil)), and(isNatIList(zeros), tt)), L)length#(L)
length#(and(tt, and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(tt, and(and(tt, isNatList(nil)), isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(s(0)), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatIList(zeros), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(isNat(0), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatList(nil), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(isNatList(nil), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(isNat(s(0)), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatList(nil), and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(0), and(and(tt, isNatList(nil)), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, tt), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatList(nil), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatList(nil), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNatList(nil), and(tt, and(isNatIList(zeros), tt))), L)length#(L)length#(and(and(tt, tt), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(isNat(0), isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(and(tt, tt), isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNat(0), and(tt, and(tt, and(isNatIList(zeros), tt)))), L)length#(L)length#(and(tt, and(tt, and(tt, and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(zeros), and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNat(length(nil)), and(isNatIList(zeros), tt)), L)length#(L)
length#(and(and(and(and(tt, tt), and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(tt, and(tt, tt))), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(isNat(0), isNat(length(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(tt, and(isNatList(nil), and(isNatIList(zeros), tt))), L)length#(L)length#(and(isNatIList(zeros), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, tt), and(tt, isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(and(tt, tt), isNatIList(zeros)), L)length#(L)
length#(and(and(and(and(isNatIList(zeros), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(tt, isNat(length(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(isNat(0), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(s(0)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(isNatIList(zeros), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, isNat(0)), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(isNatList(nil), isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(tt, and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(isNatIList(zeros), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(and(tt, tt), and(isNatIList(zeros), tt)), L)length#(L)length#(and(and(and(tt, tt), and(isNat(0), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, isNat(0)), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(tt, and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(s(0)), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(isNat(0), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatList(nil), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, and(tt, isNatList(nil))), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatIList(zeros), and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatIList(zeros), and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(isNatIList(zeros), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(U31(tt, _x21, _x22, _x23))U11#(and(isNatList(take(_x22, _x21)), isNat(_x23)), take(_x22, _x21))
U11#(and(isNat(0), isNatIList(zeros)), L)length#(L)length#(and(and(tt, isNatList(nil)), and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(0), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(and(tt, tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, isNat(0)), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(0), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(isNat(s(0)), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(isNat(0), tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(and(tt, tt), tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, isNat(s(0))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatList(nil), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, tt), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(isNat(0), isNat(length(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, tt), and(tt, and(and(tt, tt), cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(isNat(length(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(tt, and(tt, isNatList(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, tt), and(isNatIList(zeros), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(isNatList(nil), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatList(nil), and(tt, and(tt, and(isNatIList(zeros), tt)))), L)length#(L)
length#(and(and(and(isNatList(nil), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatList(nil), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(0), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(tt, tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(tt, isNat(length(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(tt, and(isNatIList(zeros), and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, nil, cons

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule U11#(and(isNatList(nil), isNatIList(zeros)), L) → length#(L) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
U11#(and(isNat(length(nil)), isNatIList(zeros)), L) 
U11#(and(and(tt, isNatList(nil)), isNatIList(zeros)), L) 
U11#(and(isNatIList(nil), isNatIList(zeros)), L) 
U11#(and(tt, and(isNatList(nil), isNatIList(zeros))), L) 
Thus, the rule U11#(and(isNatList(nil), isNatIList(zeros)), L) → length#(L) is replaced by the following rules:
U11#(and(isNatIList(nil), isNatIList(zeros)), L) → length#(L)U11#(and(and(tt, isNatList(nil)), isNatIList(zeros)), L) → length#(L)
U11#(and(isNat(length(nil)), isNatIList(zeros)), L) → length#(L)U11#(and(tt, and(isNatList(nil), isNatIList(zeros))), L) → length#(L)

Problem 42: BackwardsNarrowing



Dependency Pair Problem

Dependency Pairs

length#(zeros)U11#(and(isNatList(zeros), isNat(0)), zeros)length#(and(and(tt, isNat(0)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(tt, and(isNatList(nil), and(tt, tt))), L)length#(L)U11#(and(and(tt, isNatList(nil)), and(tt, tt)), L)length#(L)
length#(and(tt, and(and(and(isNat(0), tt), and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(and(and(tt, tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatList(nil), and(isNat(0), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), and(and(isNatIList(zeros), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatIList(zeros), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(isNatIList(zeros), isNat(0)), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(zeros), and(tt, and(and(and(isNat(0), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatIList(cons(0, zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(tt, and(isNatIList(zeros), and(tt, and(tt, and(isNatIList(zeros), tt))))), L)length#(L)length#(and(and(tt, and(and(tt, isNatList(nil)), isNat(s(0)))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(tt, and(and(isNatIList(zeros), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(isNatList(nil), isNatList(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(tt, and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNat(length(nil)), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(length(nil)), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(tt, and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(tt, and(isNatIList(zeros), and(isNatIList(zeros), tt))), L)length#(L)length#(and(tt, and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(zeros), and(tt, and(and(tt, tt), cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(0), and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(0), isNatIList(zeros)), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(s(0)), tt), and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatIList(zeros), and(and(and(and(isNatList(nil), tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatList(nil), and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, and(isNat(0), tt)), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(s(0)), and(and(and(and(isNatList(nil), tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(and(tt, tt), and(tt, and(isNatIList(zeros), tt))), L)length#(L)length#(and(and(and(and(isNatList(nil), tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(isNatIList(zeros), isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(and(tt, isNat(0)), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(0), and(tt, and(and(tt, tt), cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(tt, isNatList(nil)), isNatIList(zeros)), and(tt, and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, tt), and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatIList(zeros), and(and(isNatIList(zeros), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(tt, and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatIList(zeros), isNatList(nil)), isNatIList(zeros)), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNat(0), and(and(tt, tt), cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, tt), isNatList(nil)), isNatIList(zeros)), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(and(isNatIList(zeros), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatIList(zeros), tt), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(isNat(0), and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(length(nil)), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNat(length(nil)), and(tt, tt)), L)length#(L)length#(and(and(and(and(tt, and(and(tt, tt), tt)), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(and(isNatIList(zeros), and(tt, tt)), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(isNatList(nil), and(and(tt, isNatList(nil)), isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatList(nil), and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, tt), and(tt, isNatList(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(0), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, isNat(s(0)))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatIList(nil), isNatList(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(tt, and(and(tt, isNatIList(zeros)), and(isNatIList(zeros), tt))), L)length#(L)
length#(and(and(tt, tt), and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(0), isNatList(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(tt, isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, isNatList(nil)), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(length(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatList(nil), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, and(tt, isNat(0))), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(and(isNat(0), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(isNat(0), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(0), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(and(tt, and(isNatList(nil), tt)), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(isNat(length(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, isNatIList(zeros)), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(and(isNatList(nil), and(tt, tt)), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(0), isNatIList(zeros)), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatList(nil), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(0), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(tt, and(tt, and(tt, tt))), L)length#(L)U11#(and(and(tt, tt), and(tt, tt)), L)length#(L)
U11#(and(tt, and(isNatIList(nil), isNatIList(zeros))), L)length#(L)length#(and(tt, and(and(tt, and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(zeros), and(isNatIList(zeros), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(isNatList(nil), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(s(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(isNatList(nil), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(tt, and(isNat(0), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(tt, and(tt, and(tt, and(and(tt, isNatList(nil)), isNatList(nil))))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(and(tt, tt), and(tt, and(tt, and(isNatIList(zeros), tt)))), L)length#(L)length#(and(and(and(isNat(s(0)), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, tt), and(and(tt, isNatList(nil)), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(tt, and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(tt, and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(isNatList(nil), and(tt, isNatIList(zeros)))), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(length(nil)), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, and(and(isNatIList(zeros), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(0), and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, tt), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(0), and(tt, isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(0), and(tt, isNatList(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(and(isNatIList(nil), tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, tt), and(and(tt, tt), cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(tt, and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(isNat(0), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(tt, isNatIList(zeros)), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(tt, and(isNatList(nil), and(tt, and(and(tt, isNatList(nil)), isNatList(nil))))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, tt), and(and(and(isNat(0), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, isNat(0)), and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatIList(zeros), and(and(tt, tt), cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(isNatIList(zeros), and(isNatIList(nil), isNatList(nil))), isNat(s(0)))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(and(and(isNatList(nil), tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, isNatList(nil)), isNatList(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(and(and(tt, tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(isNatList(nil), isNatIList(zeros)), and(tt, and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(length(nil)), and(tt, isNatIList(zeros))), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(0), and(tt, and(tt, and(and(and(isNat(0), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L))))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(0), and(tt, and(tt, and(and(tt, isNatList(nil)), isNatList(nil))))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(tt, tt)), and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(and(isNat(0), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(tt, and(tt, and(isNatList(nil), isNatIList(zeros))))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(and(isNat(0), and(tt, tt)), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(isNat(0), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(and(and(tt, tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatList(nil), and(isNatIList(nil), isNatList(nil))), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(and(tt, isNat(0)), isNat(length(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(isNatList(nil), isNatList(nil)), and(isNatList(nil), isNatIList(zeros)))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(tt, isNatIList(zeros)), and(tt, and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, isNatList(nil)), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatList(nil), and(tt, and(tt, and(tt, and(and(and(isNat(0), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L)))))))))U11#(and(isNatList(L), isNat(N)), L)
U11#(isNatList(nil), L)length#(L)length#(and(and(tt, and(isNat(0), and(and(and(and(isNatList(nil), tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(isNat(0), isNat(0)), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(0), and(tt, and(isNatList(nil), isNatIList(zeros)))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(and(isNat(0), tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatList(nil), and(tt, and(tt, and(and(tt, isNatList(nil)), isNatList(nil))))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(isNat(0), isNatList(nil)), isNat(s(0)))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatList(nil), and(isNatIList(zeros), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, tt), and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(isNatIList(zeros), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(s(0)), and(and(isNatIList(zeros), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatIList(nil), and(tt, tt)), L)length#(L)
length#(and(isNatIList(nil), and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNat(0), and(isNatIList(zeros), tt)), L)length#(L)
length#(and(and(tt, and(and(and(and(tt, and(tt, tt)), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(0), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, isNat(0)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, isNatIList(zeros)), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), and(tt, isNatIList(zeros))), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(tt, and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNat(length(nil)), isNatIList(zeros)), L)length#(L)
length#(and(and(and(isNatList(nil), isNatIList(zeros)), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, isNatList(nil)), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(s(0)), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(isNatList(nil), and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, tt), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(and(tt, isNatIList(nil)), and(isNatIList(zeros), tt)), L)length#(L)
length#(and(and(and(and(tt, tt), tt), and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(and(isNatIList(zeros), tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, and(tt, and(tt, and(and(tt, isNatList(nil)), isNatList(nil))))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(and(and(tt, isNatList(nil)), tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(length(nil)), isNatList(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatIList(zeros), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatList(nil), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNat(0), and(and(and(isNat(0), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(and(and(tt, tt), and(tt, tt)), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(and(tt, and(tt, and(tt, tt))), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(isNatList(nil), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(0), isNatList(nil)), isNatIList(zeros)), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(isNat(0), and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), and(tt, and(isNatList(nil), isNatIList(zeros)))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatList(nil), and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, tt), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(isNatList(nil), isNat(s(0)))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), and(isNatList(nil), and(tt, and(and(tt, isNatList(nil)), isNatList(nil))))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(and(tt, tt), isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(isNat(s(0)), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNat(length(nil)), and(isNatIList(zeros), tt)), L)length#(L)length#(and(tt, and(and(and(isNatList(nil), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, tt), and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(tt, and(tt, tt))), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(isNatList(nil), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(tt, and(and(isNatList(nil), isNatList(nil)), isNat(s(0)))), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, tt), and(tt, and(tt, and(and(and(isNat(0), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L))))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, tt), and(isNatList(nil), and(tt, and(and(tt, isNatList(nil)), isNatList(nil))))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, tt), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(0), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(zeros), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, tt), and(tt, isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(s(0)), and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(isNat(s(0)), tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, isNatIList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(tt, and(tt, isNatIList(zeros))), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(tt, isNat(length(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(isNat(0), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(isNatIList(nil), isNatList(nil)), isNat(s(0)))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(s(0)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(isNatIList(zeros), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, isNat(0)), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(isNatList(nil), and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(tt, and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatList(nil), and(tt, and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(and(tt, tt), and(isNatIList(zeros), tt)), L)length#(L)
length#(and(and(tt, and(and(isNatIList(zeros), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(tt, and(isNatList(nil), and(tt, and(and(tt, isNatList(nil)), isNatList(nil))))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, tt), isNatIList(zeros)), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), and(isNat(0), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatList(cons(0, nil)), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(isNatIList(nil), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatList(nil), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(zeros), and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(tt, and(tt, and(tt, and(tt, and(and(and(isNat(0), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L))))))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(nil), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(isNat(0), isNatList(nil))), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNat(0), isNatIList(zeros)), L)length#(L)
length#(and(isNat(0), and(tt, and(and(and(isNat(0), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(tt, isNatList(nil))), isNatIList(zeros)), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, isNatList(nil)), and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(and(tt, tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatList(nil), and(tt, and(and(and(isNat(0), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, tt), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(isNat(s(0)), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(and(and(tt, and(tt, tt)), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(length(nil)), isNatIList(zeros)), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(isNat(0), tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), isNatIList(zeros)), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(tt, and(isNatList(nil), isNatIList(zeros))), L)length#(L)length#(and(and(tt, and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, tt), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, tt), and(tt, and(and(tt, tt), cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(isNat(length(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(tt, and(tt, isNatList(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(and(and(tt, tt), tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatIList(zeros), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(nil), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(isNat(0), tt), and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, tt), and(isNatIList(zeros), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, isNatIList(zeros)), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatIList(nil), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(isNatList(nil), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatList(nil), and(tt, and(tt, and(isNatIList(zeros), tt)))), L)length#(L)
length#(and(and(and(isNatList(nil), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(0), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatList(nil), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(0), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(tt, and(tt, isNatIList(zeros)))), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(0), and(tt, isNatIList(zeros))), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(0), and(tt, and(tt, and(tt, and(and(and(isNat(0), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L)))))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), and(tt, isNatList(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(isNatList(nil), and(tt, isNatIList(zeros))), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(and(tt, isNatIList(zeros)), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, and(isNatIList(zeros), and(tt, tt))), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(tt, and(tt, isNatList(nil)))), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, isNat(0)), tt), and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatIList(zeros), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(isNatList(nil), and(isNatList(nil), isNatIList(zeros)))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNat(0), and(tt, tt)), L)length#(L)
length#(and(and(and(and(tt, tt), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(isNat(0), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(0), and(isNatList(nil), and(tt, and(and(tt, isNatList(nil)), isNatList(nil))))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(isNat(0), and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(isNatList(nil), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(and(tt, isNatIList(nil)), isNatIList(zeros)), L)length#(L)
U11#(and(and(tt, isNatIList(zeros)), and(tt, and(tt, and(isNatIList(zeros), tt)))), L)length#(L)length#(and(and(and(and(and(tt, tt), isNat(0)), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(tt, and(isNat(0), tt)), L)length#(L)length#(and(and(and(tt, and(tt, and(isNatList(nil), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(isNatList(nil), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(tt, and(tt, isNatList(nil))), and(isNatList(nil), isNatIList(zeros)))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), and(tt, isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatList(nil), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(tt, and(tt, and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(and(and(isNatList(nil), tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(and(tt, and(tt, isNatIList(zeros))), and(isNatIList(zeros), tt)), L)length#(L)
length#(and(and(and(isNatList(nil), tt), and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, isNat(0)), and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(0), and(and(and(tt, and(tt, isNatList(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(isNatIList(zeros), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(isNatIList(nil), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(and(and(tt, and(tt, tt)), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(tt, and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, and(and(isNatList(nil), isNatList(nil)), isNat(s(0))))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, and(and(tt, isNatList(nil)), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(isNatIList(zeros), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(and(tt, tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, tt), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(isNatList(nil), isNat(s(0))), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), and(and(tt, isNatList(nil)), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatList(nil), isNatList(nil)), isNatIList(zeros)), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, isNatIList(zeros)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(0), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatIList(zeros), and(and(and(tt, and(tt, isNatList(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(and(isNat(0), tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatIList(zeros), and(and(isNatList(nil), isNatList(nil)), isNat(s(0)))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(tt, isNat(0)), L)length#(L)length#(and(and(and(isNatIList(nil), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, tt), tt), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), and(and(and(and(isNatList(nil), tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, isNatIList(zeros)), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatIList(zeros), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatList(nil), and(tt, isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, tt), and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(isNat(0), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(0), and(isNatIList(zeros), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatIList(zeros), and(tt, and(isNatIList(zeros), tt))), L)length#(L)
length#(and(and(and(and(and(isNat(length(nil)), tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNat(s(0)), tt), L)length#(L)
length#(and(and(and(and(tt, tt), and(tt, and(tt, and(and(tt, isNatList(nil)), isNatList(nil))))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(tt, and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(and(isNatList(nil), isNatIList(zeros)), and(isNatIList(zeros), tt)), L)length#(L)U11#(and(isNatIList(zeros), isNatIList(zeros)), L)length#(L)
length#(and(and(tt, and(tt, tt)), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, tt), and(tt, and(and(and(isNat(0), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(tt, isNatIList(zeros)), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(isNatList(nil), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, isNatIList(nil)), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(0), tt), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(0), and(tt, and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(isNatList(nil), cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, isNatList(nil)), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(isNatIList(zeros), and(tt, and(and(tt, isNatList(nil)), isNatList(nil))))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(tt, and(isNatIList(nil), isNatList(nil))), isNat(s(0)))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(isNatIList(zeros), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatList(nil), tt), L)length#(L)
length#(and(tt, and(and(and(tt, and(tt, isNatIList(zeros))), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(isNatIList(zeros), tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatList(take(0, zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatIList(nil), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(isNat(0), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(isNat(0), and(and(and(and(isNatList(nil), tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(isNatIList(zeros), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(nil), and(tt, isNatIList(zeros))), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNat(s(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatIList(zeros), and(and(and(isNat(0), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(and(isNat(0), tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(isNat(0), and(and(isNatIList(zeros), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatList(nil), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(and(isNat(0), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatList(nil), and(and(tt, tt), cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(isNat(0), and(and(isNatIList(zeros), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, tt), and(and(and(tt, and(tt, isNatList(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(isNatList(nil), and(and(tt, isNatList(nil)), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(isNat(0), isNatIList(zeros)), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(isNatIList(zeros), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, and(and(tt, and(tt, tt)), tt)), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(s(0)), and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, and(tt, tt)), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatIList(zeros), and(isNat(0), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(zeros), and(tt, and(tt, and(and(and(isNat(0), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L))))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(tt, and(tt, and(isNatList(nil), isNatIList(zeros)))), and(tt, and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, isNatIList(zeros)), and(isNatIList(nil), isNatList(nil))), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNat(length(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(and(isNatIList(zeros), isNatIList(zeros)), and(isNatIList(zeros), tt)), L)length#(L)length#(and(and(and(isNat(length(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, tt), and(tt, and(tt, and(tt, and(and(and(isNat(0), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L)))))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNat(length(nil)), and(tt, and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(tt, and(and(and(and(isNatList(nil), tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(and(tt, tt), tt), L)length#(L)
length#(and(isNatList(nil), and(tt, and(and(tt, tt), cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(isNat(0), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatIList(zeros), and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatList(nil), and(and(isNatList(nil), isNatList(nil)), isNat(s(0)))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, and(tt, tt)), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(isNatIList(zeros), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatList(nil), and(and(and(and(isNatList(nil), tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, tt), isNatList(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(isNatIList(zeros), and(tt, and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(and(tt, isNat(0)), tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(tt, and(isNatIList(nil), isNatList(nil)))), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, and(tt, and(tt, tt))), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(and(tt, tt), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatList(nil), and(and(and(isNat(0), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, tt), and(tt, and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, isNat(0)), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, tt), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(and(tt, isNat(0)), isNat(length(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(tt, and(and(and(and(isNatList(nil), tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(isNatIList(zeros), and(isNatIList(nil), isNatList(nil)))), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatList(nil), and(and(and(tt, and(tt, isNatList(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(tt, and(isNatIList(nil), isNatList(nil))), isNat(s(0))), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(tt, and(isNat(0), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(tt, and(tt, and(tt, and(tt, and(isNatIList(zeros), tt))))), L)length#(L)
length#(and(and(tt, and(and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(isNat(0), tt)), and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(tt, and(tt, and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), isNatList(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(isNatList(nil), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNat(0), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(and(tt, tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNat(0), and(tt, and(isNatIList(zeros), tt))), L)length#(L)
U11#(and(and(tt, isNatIList(zeros)), tt), L)length#(L)length#(and(and(and(tt, tt), isNatIList(zeros)), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(isNatList(nil), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(0), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(isNat(0), isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(tt, and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(0), and(isNat(0), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, tt), and(isNatIList(nil), isNatList(nil))), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatList(nil), and(tt, and(isNatList(nil), isNatIList(zeros)))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), and(and(isNatList(nil), isNatList(nil)), isNat(s(0)))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatIList(zeros), and(tt, and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(tt, isNat(s(0))), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNat(s(s(0))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatIList(nil), and(and(tt, isNatList(nil)), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(and(isNat(0), tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, isNatList(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(tt, and(tt, and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(isNatIList(zeros), and(tt, tt)), L)length#(L)U11#(and(tt, and(tt, isNatIList(zeros))), L)length#(L)
length#(and(and(and(and(tt, isNatList(nil)), and(and(tt, isNatList(nil)), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatIList(zeros), tt), and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatList(nil), tt), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(tt, and(and(and(tt, and(tt, isNatList(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatIList(zeros), and(tt, and(tt, and(and(tt, isNatList(nil)), isNatList(nil))))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(tt, tt), and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatList(nil), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(isNatIList(zeros), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(isNatIList(nil), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(and(isNat(0), isNatIList(zeros)), and(isNatIList(zeros), tt)), L)length#(L)
length#(and(tt, and(tt, and(tt, and(and(tt, tt), cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(and(tt, isNatList(nil)), and(isNatIList(zeros), tt)), L)length#(L)
length#(and(and(tt, and(and(tt, isNatList(nil)), and(isNatList(nil), isNatIList(zeros)))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(and(isNatIList(zeros), and(tt, tt)), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(tt, isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, and(isNat(0), tt)), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(tt, and(and(tt, isNatList(nil)), isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNat(s(0)), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(length(nil)), and(and(tt, isNatList(nil)), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, isNatIList(zeros)), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(isNat(0), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(isNat(s(0)), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(and(isNatIList(zeros), and(isNatIList(nil), isNatList(nil))), isNat(s(0))), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatIList(nil), isNatIList(zeros)), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(0), and(and(tt, isNatList(nil)), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(and(tt, and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(tt, and(and(tt, and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(tt, and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatList(nil), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNatList(nil), and(tt, and(isNatIList(zeros), tt))), L)length#(L)
length#(and(and(isNatList(nil), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNatList(nil), and(tt, and(tt, and(and(and(isNat(0), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L))))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(0), and(and(isNatList(nil), isNatList(nil)), isNat(s(0)))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, tt), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(isNat(0), isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(isNat(0), and(tt, and(tt, and(isNatIList(zeros), tt)))), L)length#(L)
length#(and(tt, and(isNatIList(zeros), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(tt, and(tt, and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(zeros), and(and(and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(tt, and(and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNatList(nil), and(isNatList(nil), and(tt, and(and(tt, isNatList(nil)), isNatList(nil))))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(tt, and(and(tt, tt), and(isNatList(nil), isNatIList(zeros))))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(isNat(0), isNat(length(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(tt, and(isNatList(nil), and(isNatIList(zeros), tt))), L)length#(L)
length#(and(and(and(and(tt, tt), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(and(tt, tt), isNatIList(zeros)), L)length#(L)
length#(and(and(and(and(isNatIList(zeros), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(isNatList(nil), and(tt, isNatList(nil))), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(tt, and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(and(and(tt, tt), isNatIList(zeros)), and(isNatIList(zeros), tt)), L)length#(L)
length#(and(and(tt, and(and(isNatIList(zeros), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(isNatList(nil), isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatIList(nil), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(tt, and(and(tt, isNatList(nil)), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(tt, isNatList(nil))), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, isNat(0)), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(tt, and(and(tt, isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(and(isNatIList(zeros), and(tt, tt)), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(isNatList(nil), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(s(0)), isNatIList(zeros)), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(isNat(0), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(isNatIList(zeros), and(tt, and(tt, and(tt, and(and(and(isNat(0), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L)))))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, and(tt, isNatList(nil))), isNatList(nil)), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(tt, and(isNatIList(nil), and(isNatIList(zeros), tt))), L)length#(L)length#(and(and(and(and(tt, tt), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
U11#(and(and(tt, isNat(0)), tt), L)length#(L)length#(and(tt, and(and(and(isNatIList(zeros), isNatIList(zeros)), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, tt), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(U31(tt, _x21, _x22, _x23))U11#(and(isNatList(take(_x22, _x21)), isNat(_x23)), take(_x22, _x21))
length#(and(and(and(tt, isNat(0)), and(and(and(and(isNatList(nil), tt), tt), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(isNat(0), cons(N, L)))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, isNat(0)), tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(isNatList(nil), isNatList(nil)), and(isNatList(nil), isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L)))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(0), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, and(and(isNatList(nil), tt), tt)), and(and(tt, tt), and(isNatList(nil), isNatIList(zeros)))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(tt, isNat(0)), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(tt, tt), and(tt, isNatIList(zeros))), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(0), and(isNatIList(nil), isNatList(nil))), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatList(nil), and(and(isNatIList(zeros), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(and(and(tt, tt), tt), and(isNatList(nil), isNatIList(zeros))), and(and(tt, isNatList(nil)), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(and(isNatList(nil), isNat(0)), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(tt, isNatIList(zeros))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, isNat(0)), and(and(isNatIList(zeros), and(tt, and(and(tt, isNatList(nil)), isNatList(nil)))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, isNat(s(0))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatList(nil), and(and(tt, and(tt, isNatList(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(and(isNat(0), isNat(length(nil))), and(tt, isNatIList(zeros)))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, and(isNatList(nil), isNatList(nil))), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(isNat(s(0)), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(and(and(tt, isNatList(nil)), isNatIList(zeros)), L)length#(L)
length#(and(tt, and(and(and(and(tt, isNat(0)), isNat(length(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L)))))U11#(and(isNatList(L), isNat(N)), L)U11#(isNat(s(0)), L)length#(L)
length#(and(and(tt, and(and(tt, tt), and(and(and(tt, isNatList(nil)), isNatList(nil)), and(tt, isNatIList(zeros))))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(and(and(isNatIList(nil), isNatList(nil)), isNat(s(0))), and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(isNatIList(zeros), isNatList(nil))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatIList(zeros), isNatIList(zeros)), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(and(tt, and(tt, isNat(length(nil)))), and(tt, isNatIList(zeros))), and(tt, cons(N, L))))U11#(and(isNatList(L), isNat(N)), L)length#(and(tt, and(tt, and(isNatIList(zeros), and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNatIList(zeros), and(tt, and(isNatList(nil), isNatIList(zeros)))), and(tt, and(tt, and(tt, cons(N, L))))))U11#(and(isNatList(L), isNat(N)), L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, L)s(length(L))
U21(tt)nilU31(tt, IL, M, N)cons(N, take(M, IL))
and(tt, X)XisNat(0)tt
isNat(length(V1))isNatList(V1)isNat(s(V1))isNat(V1)
isNatIList(V)isNatList(V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))and(isNat(V1), isNatIList(V2))isNatList(nil)tt
isNatList(cons(V1, V2))and(isNat(V1), isNatList(V2))isNatList(take(V1, V2))and(isNat(V1), isNatIList(V2))
length(nil)0length(cons(N, L))U11(and(isNatList(L), isNat(N)), L)
take(0, IL)U21(isNatIList(IL))take(s(M), cons(N, IL))U31(and(isNatIList(IL), and(isNat(M), isNat(N))), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: isNatIList, and, isNat, 0, isNatList, s, zeros, tt, take, length, U11, U31, U21, cons, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(length) = μ(U21) = μ(cons) = μ(and) = μ(s) = μ(U11) = μ(U31) = {1}
μ(take#) = μ(take) = {1, 2}


The left-hand side of the rule length#(and(and(tt, isNat(0)), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L) is backward narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
length#(and(and(isNat(0), isNat(0)), and(tt, cons(N, L)))) 
length#(and(and(tt, and(tt, isNat(0))), and(tt, cons(N, L)))) 
length#(and(and(isNatIList(zeros), isNat(0)), and(tt, cons(N, L)))) 
length#(and(tt, and(and(tt, isNat(0)), and(tt, cons(N, L))))) 
length#(and(and(isNatList(nil), isNat(0)), and(tt, cons(N, L)))) 
length#(and(and(and(tt, tt), isNat(0)), and(tt, cons(N, L)))) 
Thus, the rule length#(and(and(tt, isNat(0)), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L) is replaced by the following rules:
length#(and(tt, and(and(tt, isNat(0)), and(tt, cons(N, L))))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatList(nil), isNat(0)), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(isNat(0), isNat(0)), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(and(isNatIList(zeros), isNat(0)), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)
length#(and(and(tt, and(tt, isNat(0))), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)length#(and(and(and(tt, tt), isNat(0)), and(tt, cons(N, L)))) → U11#(and(isNatList(L), isNat(N)), L)

Problem 45: BackwardsNarrowing

Problem 47: BackwardsNarrowing