/export/starexec/sandbox2/solver/bin/starexec_run_rcdcRelativeAlsoLower /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- KILLED proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(1, INF). (0) DCpxTrs (1) DerivationalComplexityToRuntimeComplexityProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxRelTRS (3) SInnermostTerminationProof [BOTH CONCRETE BOUNDS(ID, ID), 481 ms] (4) CpxRelTRS (5) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CpxRelTRS (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (8) typed CpxTrs (9) OrderProof [LOWER BOUND(ID), 12 ms] (10) typed CpxTrs (11) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 3 ms] (12) TRS for Loop Detection (13) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (14) CpxTRS (15) NonCtorToCtorProof [UPPER BOUND(ID), 0 ms] (16) CpxRelTRS (17) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (18) CpxWeightedTrs (19) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CpxTypedWeightedTrs (21) CompletionProof [UPPER BOUND(ID), 7 ms] (22) CpxTypedWeightedCompleteTrs (23) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 30 ms] (24) CpxRNTS (25) CompletionProof [UPPER BOUND(ID), 10 ms] (26) CpxTypedWeightedCompleteTrs (27) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (28) CdtProblem (29) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 1 ms] (30) CdtProblem (31) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (32) CdtProblem (33) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 7 ms] (34) CdtProblem (35) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (36) CdtProblem (37) CdtUsableRulesProof [BOTH BOUNDS(ID, ID), 62 ms] (38) CdtProblem (39) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 34 ms] (40) CdtProblem (41) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (42) CdtProblem (43) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (44) CdtProblem (45) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 9 ms] (46) CdtProblem (47) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CdtProblem (49) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 62 ms] (50) CdtProblem (51) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 11 ms] (52) CdtProblem (53) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 36 ms] (54) CdtProblem (55) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (56) CdtProblem (57) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 34 ms] (58) CdtProblem (59) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (60) CdtProblem (61) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 2 ms] (62) CdtProblem (63) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 1 ms] (64) CdtProblem (65) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 36 ms] (66) CdtProblem (67) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (68) CdtProblem (69) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 45 ms] (70) CdtProblem (71) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (72) CdtProblem (73) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 97 ms] (74) CdtProblem (75) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (76) CdtProblem (77) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 135 ms] (78) CdtProblem (79) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 24 ms] (80) CdtProblem (81) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 42 ms] (82) CdtProblem (83) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 13 ms] (84) CdtProblem (85) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 675 ms] (86) CdtProblem (87) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 148 ms] (88) CdtProblem (89) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 283 ms] (90) CdtProblem (91) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 83 ms] (92) CdtProblem (93) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 71 ms] (94) CdtProblem (95) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (96) CdtProblem (97) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (98) CdtProblem (99) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 54 ms] (100) CdtProblem (101) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 88 ms] (102) CdtProblem (103) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 25 ms] (104) CdtProblem (105) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 148 ms] (106) CdtProblem (107) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 101 ms] (108) CdtProblem (109) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 93 ms] (110) CdtProblem (111) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 100 ms] (112) CdtProblem (113) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 39 ms] (114) CdtProblem (115) CdtLeafRemovalProof [ComplexityIfPolyImplication, 38 ms] (116) CdtProblem (117) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 44 ms] (118) CdtProblem (119) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 50 ms] (120) CdtProblem (121) CdtLeafRemovalProof [ComplexityIfPolyImplication, 2 ms] (122) CdtProblem (123) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 49 ms] (124) CdtProblem (125) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 30 ms] (126) CdtProblem (127) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 46 ms] (128) CdtProblem (129) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 19 ms] (130) CdtProblem (131) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 28 ms] (132) CdtProblem (133) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 12 ms] (134) CdtProblem (135) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 32 ms] (136) CdtProblem (137) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 49 ms] (138) CdtProblem (139) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 48 ms] (140) CdtProblem (141) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 22 ms] (142) CdtProblem (143) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 65 ms] (144) CdtProblem ---------------------------------------- (0) Obligation: The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(and(tt, T)) -> mark(T) active(isNatIList(IL)) -> mark(isNatList(IL)) active(isNat(0)) -> mark(tt) active(isNat(s(N))) -> mark(isNat(N)) active(isNat(length(L))) -> mark(isNatList(L)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(N, L))) -> mark(and(isNat(N), isNatList(L))) active(isNatList(take(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) active(zeros) -> mark(cons(0, zeros)) active(take(0, IL)) -> mark(uTake1(isNatIList(IL))) active(uTake1(tt)) -> mark(nil) active(take(s(M), cons(N, IL))) -> mark(uTake2(and(isNat(M), and(isNat(N), isNatIList(IL))), M, N, IL)) active(uTake2(tt, M, N, IL)) -> mark(cons(N, take(M, IL))) active(length(cons(N, L))) -> mark(uLength(and(isNat(N), isNatList(L)), L)) active(uLength(tt, L)) -> mark(s(length(L))) mark(and(X1, X2)) -> active(and(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(isNatIList(X)) -> active(isNatIList(X)) mark(isNatList(X)) -> active(isNatList(X)) mark(isNat(X)) -> active(isNat(X)) mark(0) -> active(0) mark(s(X)) -> active(s(mark(X))) mark(length(X)) -> active(length(mark(X))) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(nil) -> active(nil) mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))) mark(uTake1(X)) -> active(uTake1(mark(X))) mark(uTake2(X1, X2, X3, X4)) -> active(uTake2(mark(X1), X2, X3, X4)) mark(uLength(X1, X2)) -> active(uLength(mark(X1), X2)) and(mark(X1), X2) -> and(X1, X2) and(X1, mark(X2)) -> and(X1, X2) and(active(X1), X2) -> and(X1, X2) and(X1, active(X2)) -> and(X1, X2) isNatIList(mark(X)) -> isNatIList(X) isNatIList(active(X)) -> isNatIList(X) isNatList(mark(X)) -> isNatList(X) isNatList(active(X)) -> isNatList(X) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) length(mark(X)) -> length(X) length(active(X)) -> length(X) cons(mark(X1), X2) -> cons(X1, X2) cons(X1, mark(X2)) -> cons(X1, X2) cons(active(X1), X2) -> cons(X1, X2) cons(X1, active(X2)) -> cons(X1, X2) take(mark(X1), X2) -> take(X1, X2) take(X1, mark(X2)) -> take(X1, X2) take(active(X1), X2) -> take(X1, X2) take(X1, active(X2)) -> take(X1, X2) uTake1(mark(X)) -> uTake1(X) uTake1(active(X)) -> uTake1(X) uTake2(mark(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, mark(X2), X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, mark(X3), X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, X3, mark(X4)) -> uTake2(X1, X2, X3, X4) uTake2(active(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, active(X2), X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, active(X3), X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, X3, active(X4)) -> uTake2(X1, X2, X3, X4) uLength(mark(X1), X2) -> uLength(X1, X2) uLength(X1, mark(X2)) -> uLength(X1, X2) uLength(active(X1), X2) -> uLength(X1, X2) uLength(X1, active(X2)) -> uLength(X1, X2) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (1) DerivationalComplexityToRuntimeComplexityProof (BOTH BOUNDS(ID, ID)) The following rules have been added to S to convert the given derivational complexity problem to a runtime complexity problem: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_isNatIList(x_1)) -> isNatIList(encArg(x_1)) encArg(cons_isNatList(x_1)) -> isNatList(encArg(x_1)) encArg(cons_isNat(x_1)) -> isNat(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encArg(cons_uTake1(x_1)) -> uTake1(encArg(x_1)) encArg(cons_uTake2(x_1, x_2, x_3, x_4)) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encArg(cons_uLength(x_1, x_2)) -> uLength(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_mark(x_1) -> mark(encArg(x_1)) encode_isNatIList(x_1) -> isNatIList(encArg(x_1)) encode_isNatList(x_1) -> isNatList(encArg(x_1)) encode_isNat(x_1) -> isNat(encArg(x_1)) encode_0 -> 0 encode_s(x_1) -> s(encArg(x_1)) encode_length(x_1) -> length(encArg(x_1)) encode_zeros -> zeros encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) encode_uTake1(x_1) -> uTake1(encArg(x_1)) encode_uTake2(x_1, x_2, x_3, x_4) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encode_uLength(x_1, x_2) -> uLength(encArg(x_1), encArg(x_2)) ---------------------------------------- (2) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(and(tt, T)) -> mark(T) active(isNatIList(IL)) -> mark(isNatList(IL)) active(isNat(0)) -> mark(tt) active(isNat(s(N))) -> mark(isNat(N)) active(isNat(length(L))) -> mark(isNatList(L)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(N, L))) -> mark(and(isNat(N), isNatList(L))) active(isNatList(take(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) active(zeros) -> mark(cons(0, zeros)) active(take(0, IL)) -> mark(uTake1(isNatIList(IL))) active(uTake1(tt)) -> mark(nil) active(take(s(M), cons(N, IL))) -> mark(uTake2(and(isNat(M), and(isNat(N), isNatIList(IL))), M, N, IL)) active(uTake2(tt, M, N, IL)) -> mark(cons(N, take(M, IL))) active(length(cons(N, L))) -> mark(uLength(and(isNat(N), isNatList(L)), L)) active(uLength(tt, L)) -> mark(s(length(L))) mark(and(X1, X2)) -> active(and(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(isNatIList(X)) -> active(isNatIList(X)) mark(isNatList(X)) -> active(isNatList(X)) mark(isNat(X)) -> active(isNat(X)) mark(0) -> active(0) mark(s(X)) -> active(s(mark(X))) mark(length(X)) -> active(length(mark(X))) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(nil) -> active(nil) mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))) mark(uTake1(X)) -> active(uTake1(mark(X))) mark(uTake2(X1, X2, X3, X4)) -> active(uTake2(mark(X1), X2, X3, X4)) mark(uLength(X1, X2)) -> active(uLength(mark(X1), X2)) and(mark(X1), X2) -> and(X1, X2) and(X1, mark(X2)) -> and(X1, X2) and(active(X1), X2) -> and(X1, X2) and(X1, active(X2)) -> and(X1, X2) isNatIList(mark(X)) -> isNatIList(X) isNatIList(active(X)) -> isNatIList(X) isNatList(mark(X)) -> isNatList(X) isNatList(active(X)) -> isNatList(X) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) length(mark(X)) -> length(X) length(active(X)) -> length(X) cons(mark(X1), X2) -> cons(X1, X2) cons(X1, mark(X2)) -> cons(X1, X2) cons(active(X1), X2) -> cons(X1, X2) cons(X1, active(X2)) -> cons(X1, X2) take(mark(X1), X2) -> take(X1, X2) take(X1, mark(X2)) -> take(X1, X2) take(active(X1), X2) -> take(X1, X2) take(X1, active(X2)) -> take(X1, X2) uTake1(mark(X)) -> uTake1(X) uTake1(active(X)) -> uTake1(X) uTake2(mark(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, mark(X2), X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, mark(X3), X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, X3, mark(X4)) -> uTake2(X1, X2, X3, X4) uTake2(active(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, active(X2), X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, active(X3), X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, X3, active(X4)) -> uTake2(X1, X2, X3, X4) uLength(mark(X1), X2) -> uLength(X1, X2) uLength(X1, mark(X2)) -> uLength(X1, X2) uLength(active(X1), X2) -> uLength(X1, X2) uLength(X1, active(X2)) -> uLength(X1, X2) The (relative) TRS S consists of the following rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_isNatIList(x_1)) -> isNatIList(encArg(x_1)) encArg(cons_isNatList(x_1)) -> isNatList(encArg(x_1)) encArg(cons_isNat(x_1)) -> isNat(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encArg(cons_uTake1(x_1)) -> uTake1(encArg(x_1)) encArg(cons_uTake2(x_1, x_2, x_3, x_4)) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encArg(cons_uLength(x_1, x_2)) -> uLength(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_mark(x_1) -> mark(encArg(x_1)) encode_isNatIList(x_1) -> isNatIList(encArg(x_1)) encode_isNatList(x_1) -> isNatList(encArg(x_1)) encode_isNat(x_1) -> isNat(encArg(x_1)) encode_0 -> 0 encode_s(x_1) -> s(encArg(x_1)) encode_length(x_1) -> length(encArg(x_1)) encode_zeros -> zeros encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) encode_uTake1(x_1) -> uTake1(encArg(x_1)) encode_uTake2(x_1, x_2, x_3, x_4) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encode_uLength(x_1, x_2) -> uLength(encArg(x_1), encArg(x_2)) Rewrite Strategy: INNERMOST ---------------------------------------- (3) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (4) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(and(tt, T)) -> mark(T) active(isNatIList(IL)) -> mark(isNatList(IL)) active(isNat(0)) -> mark(tt) active(isNat(s(N))) -> mark(isNat(N)) active(isNat(length(L))) -> mark(isNatList(L)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(N, L))) -> mark(and(isNat(N), isNatList(L))) active(isNatList(take(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) active(zeros) -> mark(cons(0, zeros)) active(take(0, IL)) -> mark(uTake1(isNatIList(IL))) active(uTake1(tt)) -> mark(nil) active(take(s(M), cons(N, IL))) -> mark(uTake2(and(isNat(M), and(isNat(N), isNatIList(IL))), M, N, IL)) active(uTake2(tt, M, N, IL)) -> mark(cons(N, take(M, IL))) active(length(cons(N, L))) -> mark(uLength(and(isNat(N), isNatList(L)), L)) active(uLength(tt, L)) -> mark(s(length(L))) mark(and(X1, X2)) -> active(and(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(isNatIList(X)) -> active(isNatIList(X)) mark(isNatList(X)) -> active(isNatList(X)) mark(isNat(X)) -> active(isNat(X)) mark(0) -> active(0) mark(s(X)) -> active(s(mark(X))) mark(length(X)) -> active(length(mark(X))) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(nil) -> active(nil) mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))) mark(uTake1(X)) -> active(uTake1(mark(X))) mark(uTake2(X1, X2, X3, X4)) -> active(uTake2(mark(X1), X2, X3, X4)) mark(uLength(X1, X2)) -> active(uLength(mark(X1), X2)) and(mark(X1), X2) -> and(X1, X2) and(X1, mark(X2)) -> and(X1, X2) and(active(X1), X2) -> and(X1, X2) and(X1, active(X2)) -> and(X1, X2) isNatIList(mark(X)) -> isNatIList(X) isNatIList(active(X)) -> isNatIList(X) isNatList(mark(X)) -> isNatList(X) isNatList(active(X)) -> isNatList(X) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) length(mark(X)) -> length(X) length(active(X)) -> length(X) cons(mark(X1), X2) -> cons(X1, X2) cons(X1, mark(X2)) -> cons(X1, X2) cons(active(X1), X2) -> cons(X1, X2) cons(X1, active(X2)) -> cons(X1, X2) take(mark(X1), X2) -> take(X1, X2) take(X1, mark(X2)) -> take(X1, X2) take(active(X1), X2) -> take(X1, X2) take(X1, active(X2)) -> take(X1, X2) uTake1(mark(X)) -> uTake1(X) uTake1(active(X)) -> uTake1(X) uTake2(mark(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, mark(X2), X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, mark(X3), X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, X3, mark(X4)) -> uTake2(X1, X2, X3, X4) uTake2(active(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, active(X2), X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, active(X3), X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, X3, active(X4)) -> uTake2(X1, X2, X3, X4) uLength(mark(X1), X2) -> uLength(X1, X2) uLength(X1, mark(X2)) -> uLength(X1, X2) uLength(active(X1), X2) -> uLength(X1, X2) uLength(X1, active(X2)) -> uLength(X1, X2) The (relative) TRS S consists of the following rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_isNatIList(x_1)) -> isNatIList(encArg(x_1)) encArg(cons_isNatList(x_1)) -> isNatList(encArg(x_1)) encArg(cons_isNat(x_1)) -> isNat(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encArg(cons_uTake1(x_1)) -> uTake1(encArg(x_1)) encArg(cons_uTake2(x_1, x_2, x_3, x_4)) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encArg(cons_uLength(x_1, x_2)) -> uLength(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_mark(x_1) -> mark(encArg(x_1)) encode_isNatIList(x_1) -> isNatIList(encArg(x_1)) encode_isNatList(x_1) -> isNatList(encArg(x_1)) encode_isNat(x_1) -> isNat(encArg(x_1)) encode_0 -> 0 encode_s(x_1) -> s(encArg(x_1)) encode_length(x_1) -> length(encArg(x_1)) encode_zeros -> zeros encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) encode_uTake1(x_1) -> uTake1(encArg(x_1)) encode_uTake2(x_1, x_2, x_3, x_4) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encode_uLength(x_1, x_2) -> uLength(encArg(x_1), encArg(x_2)) Rewrite Strategy: INNERMOST ---------------------------------------- (5) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (6) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(and(tt, T)) -> mark(T) active(isNatIList(IL)) -> mark(isNatList(IL)) active(isNat(0')) -> mark(tt) active(isNat(s(N))) -> mark(isNat(N)) active(isNat(length(L))) -> mark(isNatList(L)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(N, L))) -> mark(and(isNat(N), isNatList(L))) active(isNatList(take(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) active(zeros) -> mark(cons(0', zeros)) active(take(0', IL)) -> mark(uTake1(isNatIList(IL))) active(uTake1(tt)) -> mark(nil) active(take(s(M), cons(N, IL))) -> mark(uTake2(and(isNat(M), and(isNat(N), isNatIList(IL))), M, N, IL)) active(uTake2(tt, M, N, IL)) -> mark(cons(N, take(M, IL))) active(length(cons(N, L))) -> mark(uLength(and(isNat(N), isNatList(L)), L)) active(uLength(tt, L)) -> mark(s(length(L))) mark(and(X1, X2)) -> active(and(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(isNatIList(X)) -> active(isNatIList(X)) mark(isNatList(X)) -> active(isNatList(X)) mark(isNat(X)) -> active(isNat(X)) mark(0') -> active(0') mark(s(X)) -> active(s(mark(X))) mark(length(X)) -> active(length(mark(X))) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(nil) -> active(nil) mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))) mark(uTake1(X)) -> active(uTake1(mark(X))) mark(uTake2(X1, X2, X3, X4)) -> active(uTake2(mark(X1), X2, X3, X4)) mark(uLength(X1, X2)) -> active(uLength(mark(X1), X2)) and(mark(X1), X2) -> and(X1, X2) and(X1, mark(X2)) -> and(X1, X2) and(active(X1), X2) -> and(X1, X2) and(X1, active(X2)) -> and(X1, X2) isNatIList(mark(X)) -> isNatIList(X) isNatIList(active(X)) -> isNatIList(X) isNatList(mark(X)) -> isNatList(X) isNatList(active(X)) -> isNatList(X) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) length(mark(X)) -> length(X) length(active(X)) -> length(X) cons(mark(X1), X2) -> cons(X1, X2) cons(X1, mark(X2)) -> cons(X1, X2) cons(active(X1), X2) -> cons(X1, X2) cons(X1, active(X2)) -> cons(X1, X2) take(mark(X1), X2) -> take(X1, X2) take(X1, mark(X2)) -> take(X1, X2) take(active(X1), X2) -> take(X1, X2) take(X1, active(X2)) -> take(X1, X2) uTake1(mark(X)) -> uTake1(X) uTake1(active(X)) -> uTake1(X) uTake2(mark(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, mark(X2), X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, mark(X3), X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, X3, mark(X4)) -> uTake2(X1, X2, X3, X4) uTake2(active(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, active(X2), X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, active(X3), X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, X3, active(X4)) -> uTake2(X1, X2, X3, X4) uLength(mark(X1), X2) -> uLength(X1, X2) uLength(X1, mark(X2)) -> uLength(X1, X2) uLength(active(X1), X2) -> uLength(X1, X2) uLength(X1, active(X2)) -> uLength(X1, X2) The (relative) TRS S consists of the following rules: encArg(tt) -> tt encArg(0') -> 0' encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_isNatIList(x_1)) -> isNatIList(encArg(x_1)) encArg(cons_isNatList(x_1)) -> isNatList(encArg(x_1)) encArg(cons_isNat(x_1)) -> isNat(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encArg(cons_uTake1(x_1)) -> uTake1(encArg(x_1)) encArg(cons_uTake2(x_1, x_2, x_3, x_4)) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encArg(cons_uLength(x_1, x_2)) -> uLength(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_mark(x_1) -> mark(encArg(x_1)) encode_isNatIList(x_1) -> isNatIList(encArg(x_1)) encode_isNatList(x_1) -> isNatList(encArg(x_1)) encode_isNat(x_1) -> isNat(encArg(x_1)) encode_0 -> 0' encode_s(x_1) -> s(encArg(x_1)) encode_length(x_1) -> length(encArg(x_1)) encode_zeros -> zeros encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) encode_uTake1(x_1) -> uTake1(encArg(x_1)) encode_uTake2(x_1, x_2, x_3, x_4) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encode_uLength(x_1, x_2) -> uLength(encArg(x_1), encArg(x_2)) Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (8) Obligation: Innermost TRS: Rules: active(and(tt, T)) -> mark(T) active(isNatIList(IL)) -> mark(isNatList(IL)) active(isNat(0')) -> mark(tt) active(isNat(s(N))) -> mark(isNat(N)) active(isNat(length(L))) -> mark(isNatList(L)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(N, L))) -> mark(and(isNat(N), isNatList(L))) active(isNatList(take(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) active(zeros) -> mark(cons(0', zeros)) active(take(0', IL)) -> mark(uTake1(isNatIList(IL))) active(uTake1(tt)) -> mark(nil) active(take(s(M), cons(N, IL))) -> mark(uTake2(and(isNat(M), and(isNat(N), isNatIList(IL))), M, N, IL)) active(uTake2(tt, M, N, IL)) -> mark(cons(N, take(M, IL))) active(length(cons(N, L))) -> mark(uLength(and(isNat(N), isNatList(L)), L)) active(uLength(tt, L)) -> mark(s(length(L))) mark(and(X1, X2)) -> active(and(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(isNatIList(X)) -> active(isNatIList(X)) mark(isNatList(X)) -> active(isNatList(X)) mark(isNat(X)) -> active(isNat(X)) mark(0') -> active(0') mark(s(X)) -> active(s(mark(X))) mark(length(X)) -> active(length(mark(X))) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(nil) -> active(nil) mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))) mark(uTake1(X)) -> active(uTake1(mark(X))) mark(uTake2(X1, X2, X3, X4)) -> active(uTake2(mark(X1), X2, X3, X4)) mark(uLength(X1, X2)) -> active(uLength(mark(X1), X2)) and(mark(X1), X2) -> and(X1, X2) and(X1, mark(X2)) -> and(X1, X2) and(active(X1), X2) -> and(X1, X2) and(X1, active(X2)) -> and(X1, X2) isNatIList(mark(X)) -> isNatIList(X) isNatIList(active(X)) -> isNatIList(X) isNatList(mark(X)) -> isNatList(X) isNatList(active(X)) -> isNatList(X) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) length(mark(X)) -> length(X) length(active(X)) -> length(X) cons(mark(X1), X2) -> cons(X1, X2) cons(X1, mark(X2)) -> cons(X1, X2) cons(active(X1), X2) -> cons(X1, X2) cons(X1, active(X2)) -> cons(X1, X2) take(mark(X1), X2) -> take(X1, X2) take(X1, mark(X2)) -> take(X1, X2) take(active(X1), X2) -> take(X1, X2) take(X1, active(X2)) -> take(X1, X2) uTake1(mark(X)) -> uTake1(X) uTake1(active(X)) -> uTake1(X) uTake2(mark(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, mark(X2), X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, mark(X3), X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, X3, mark(X4)) -> uTake2(X1, X2, X3, X4) uTake2(active(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, active(X2), X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, active(X3), X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, X3, active(X4)) -> uTake2(X1, X2, X3, X4) uLength(mark(X1), X2) -> uLength(X1, X2) uLength(X1, mark(X2)) -> uLength(X1, X2) uLength(active(X1), X2) -> uLength(X1, X2) uLength(X1, active(X2)) -> uLength(X1, X2) encArg(tt) -> tt encArg(0') -> 0' encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_isNatIList(x_1)) -> isNatIList(encArg(x_1)) encArg(cons_isNatList(x_1)) -> isNatList(encArg(x_1)) encArg(cons_isNat(x_1)) -> isNat(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encArg(cons_uTake1(x_1)) -> uTake1(encArg(x_1)) encArg(cons_uTake2(x_1, x_2, x_3, x_4)) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encArg(cons_uLength(x_1, x_2)) -> uLength(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_mark(x_1) -> mark(encArg(x_1)) encode_isNatIList(x_1) -> isNatIList(encArg(x_1)) encode_isNatList(x_1) -> isNatList(encArg(x_1)) encode_isNat(x_1) -> isNat(encArg(x_1)) encode_0 -> 0' encode_s(x_1) -> s(encArg(x_1)) encode_length(x_1) -> length(encArg(x_1)) encode_zeros -> zeros encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) encode_uTake1(x_1) -> uTake1(encArg(x_1)) encode_uTake2(x_1, x_2, x_3, x_4) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encode_uLength(x_1, x_2) -> uLength(encArg(x_1), encArg(x_2)) Types: active :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength and :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength tt :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength mark :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength isNatIList :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength isNatList :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength isNat :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength 0' :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength s :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength length :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength zeros :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength nil :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength take :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength uTake1 :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength uTake2 :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength uLength :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encArg :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_active :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_mark :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_and :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_isNatIList :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_isNatList :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_isNat :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_s :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_length :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_cons :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_take :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_uTake1 :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_uTake2 :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_uLength :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_active :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_and :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_tt :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_mark :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_isNatIList :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_isNatList :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_isNat :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_0 :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_s :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_length :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_zeros :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_cons :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_nil :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_take :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_uTake1 :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_uTake2 :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_uLength :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength hole_tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength1_5 :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength gen_tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength2_5 :: Nat -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength ---------------------------------------- (9) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: active, mark, isNatList, isNat, and, isNatIList, cons, uTake1, uTake2, take, uLength, s, length, encArg They will be analysed ascendingly in the following order: active = mark isNatList < active isNat < active and < active isNatIList < active cons < active uTake1 < active uTake2 < active take < active uLength < active s < active length < active active < encArg isNatList < mark isNat < mark and < mark isNatIList < mark cons < mark uTake1 < mark uTake2 < mark take < mark uLength < mark s < mark length < mark mark < encArg isNatList < encArg isNat < encArg and < encArg isNatIList < encArg cons < encArg uTake1 < encArg uTake2 < encArg take < encArg uLength < encArg s < encArg length < encArg ---------------------------------------- (10) Obligation: Innermost TRS: Rules: active(and(tt, T)) -> mark(T) active(isNatIList(IL)) -> mark(isNatList(IL)) active(isNat(0')) -> mark(tt) active(isNat(s(N))) -> mark(isNat(N)) active(isNat(length(L))) -> mark(isNatList(L)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(N, L))) -> mark(and(isNat(N), isNatList(L))) active(isNatList(take(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) active(zeros) -> mark(cons(0', zeros)) active(take(0', IL)) -> mark(uTake1(isNatIList(IL))) active(uTake1(tt)) -> mark(nil) active(take(s(M), cons(N, IL))) -> mark(uTake2(and(isNat(M), and(isNat(N), isNatIList(IL))), M, N, IL)) active(uTake2(tt, M, N, IL)) -> mark(cons(N, take(M, IL))) active(length(cons(N, L))) -> mark(uLength(and(isNat(N), isNatList(L)), L)) active(uLength(tt, L)) -> mark(s(length(L))) mark(and(X1, X2)) -> active(and(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(isNatIList(X)) -> active(isNatIList(X)) mark(isNatList(X)) -> active(isNatList(X)) mark(isNat(X)) -> active(isNat(X)) mark(0') -> active(0') mark(s(X)) -> active(s(mark(X))) mark(length(X)) -> active(length(mark(X))) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(nil) -> active(nil) mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))) mark(uTake1(X)) -> active(uTake1(mark(X))) mark(uTake2(X1, X2, X3, X4)) -> active(uTake2(mark(X1), X2, X3, X4)) mark(uLength(X1, X2)) -> active(uLength(mark(X1), X2)) and(mark(X1), X2) -> and(X1, X2) and(X1, mark(X2)) -> and(X1, X2) and(active(X1), X2) -> and(X1, X2) and(X1, active(X2)) -> and(X1, X2) isNatIList(mark(X)) -> isNatIList(X) isNatIList(active(X)) -> isNatIList(X) isNatList(mark(X)) -> isNatList(X) isNatList(active(X)) -> isNatList(X) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) length(mark(X)) -> length(X) length(active(X)) -> length(X) cons(mark(X1), X2) -> cons(X1, X2) cons(X1, mark(X2)) -> cons(X1, X2) cons(active(X1), X2) -> cons(X1, X2) cons(X1, active(X2)) -> cons(X1, X2) take(mark(X1), X2) -> take(X1, X2) take(X1, mark(X2)) -> take(X1, X2) take(active(X1), X2) -> take(X1, X2) take(X1, active(X2)) -> take(X1, X2) uTake1(mark(X)) -> uTake1(X) uTake1(active(X)) -> uTake1(X) uTake2(mark(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, mark(X2), X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, mark(X3), X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, X3, mark(X4)) -> uTake2(X1, X2, X3, X4) uTake2(active(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, active(X2), X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, active(X3), X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, X3, active(X4)) -> uTake2(X1, X2, X3, X4) uLength(mark(X1), X2) -> uLength(X1, X2) uLength(X1, mark(X2)) -> uLength(X1, X2) uLength(active(X1), X2) -> uLength(X1, X2) uLength(X1, active(X2)) -> uLength(X1, X2) encArg(tt) -> tt encArg(0') -> 0' encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_isNatIList(x_1)) -> isNatIList(encArg(x_1)) encArg(cons_isNatList(x_1)) -> isNatList(encArg(x_1)) encArg(cons_isNat(x_1)) -> isNat(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encArg(cons_uTake1(x_1)) -> uTake1(encArg(x_1)) encArg(cons_uTake2(x_1, x_2, x_3, x_4)) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encArg(cons_uLength(x_1, x_2)) -> uLength(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_mark(x_1) -> mark(encArg(x_1)) encode_isNatIList(x_1) -> isNatIList(encArg(x_1)) encode_isNatList(x_1) -> isNatList(encArg(x_1)) encode_isNat(x_1) -> isNat(encArg(x_1)) encode_0 -> 0' encode_s(x_1) -> s(encArg(x_1)) encode_length(x_1) -> length(encArg(x_1)) encode_zeros -> zeros encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) encode_uTake1(x_1) -> uTake1(encArg(x_1)) encode_uTake2(x_1, x_2, x_3, x_4) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encode_uLength(x_1, x_2) -> uLength(encArg(x_1), encArg(x_2)) Types: active :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength and :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength tt :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength mark :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength isNatIList :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength isNatList :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength isNat :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength 0' :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength s :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength length :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength zeros :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength nil :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength take :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength uTake1 :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength uTake2 :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength uLength :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encArg :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_active :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_mark :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_and :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_isNatIList :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_isNatList :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_isNat :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_s :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_length :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_cons :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_take :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_uTake1 :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_uTake2 :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_uLength :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_active :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_and :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_tt :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_mark :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_isNatIList :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_isNatList :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_isNat :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_0 :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_s :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_length :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_zeros :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_cons :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_nil :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_take :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_uTake1 :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_uTake2 :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_uLength :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength hole_tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength1_5 :: tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength gen_tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength2_5 :: Nat -> tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength Generator Equations: gen_tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength2_5(0) <=> tt gen_tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength2_5(+(x, 1)) <=> cons_active(gen_tt:0':zeros:nil:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength2_5(x)) The following defined symbols remain to be analysed: isNatList, active, mark, isNat, and, isNatIList, cons, uTake1, uTake2, take, uLength, s, length, encArg They will be analysed ascendingly in the following order: active = mark isNatList < active isNat < active and < active isNatIList < active cons < active uTake1 < active uTake2 < active take < active uLength < active s < active length < active active < encArg isNatList < mark isNat < mark and < mark isNatIList < mark cons < mark uTake1 < mark uTake2 < mark take < mark uLength < mark s < mark length < mark mark < encArg isNatList < encArg isNat < encArg and < encArg isNatIList < encArg cons < encArg uTake1 < encArg uTake2 < encArg take < encArg uLength < encArg s < encArg length < encArg ---------------------------------------- (11) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (12) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(and(tt, T)) -> mark(T) active(isNatIList(IL)) -> mark(isNatList(IL)) active(isNat(0)) -> mark(tt) active(isNat(s(N))) -> mark(isNat(N)) active(isNat(length(L))) -> mark(isNatList(L)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(N, L))) -> mark(and(isNat(N), isNatList(L))) active(isNatList(take(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) active(zeros) -> mark(cons(0, zeros)) active(take(0, IL)) -> mark(uTake1(isNatIList(IL))) active(uTake1(tt)) -> mark(nil) active(take(s(M), cons(N, IL))) -> mark(uTake2(and(isNat(M), and(isNat(N), isNatIList(IL))), M, N, IL)) active(uTake2(tt, M, N, IL)) -> mark(cons(N, take(M, IL))) active(length(cons(N, L))) -> mark(uLength(and(isNat(N), isNatList(L)), L)) active(uLength(tt, L)) -> mark(s(length(L))) mark(and(X1, X2)) -> active(and(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(isNatIList(X)) -> active(isNatIList(X)) mark(isNatList(X)) -> active(isNatList(X)) mark(isNat(X)) -> active(isNat(X)) mark(0) -> active(0) mark(s(X)) -> active(s(mark(X))) mark(length(X)) -> active(length(mark(X))) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(nil) -> active(nil) mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))) mark(uTake1(X)) -> active(uTake1(mark(X))) mark(uTake2(X1, X2, X3, X4)) -> active(uTake2(mark(X1), X2, X3, X4)) mark(uLength(X1, X2)) -> active(uLength(mark(X1), X2)) and(mark(X1), X2) -> and(X1, X2) and(X1, mark(X2)) -> and(X1, X2) and(active(X1), X2) -> and(X1, X2) and(X1, active(X2)) -> and(X1, X2) isNatIList(mark(X)) -> isNatIList(X) isNatIList(active(X)) -> isNatIList(X) isNatList(mark(X)) -> isNatList(X) isNatList(active(X)) -> isNatList(X) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) length(mark(X)) -> length(X) length(active(X)) -> length(X) cons(mark(X1), X2) -> cons(X1, X2) cons(X1, mark(X2)) -> cons(X1, X2) cons(active(X1), X2) -> cons(X1, X2) cons(X1, active(X2)) -> cons(X1, X2) take(mark(X1), X2) -> take(X1, X2) take(X1, mark(X2)) -> take(X1, X2) take(active(X1), X2) -> take(X1, X2) take(X1, active(X2)) -> take(X1, X2) uTake1(mark(X)) -> uTake1(X) uTake1(active(X)) -> uTake1(X) uTake2(mark(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, mark(X2), X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, mark(X3), X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, X3, mark(X4)) -> uTake2(X1, X2, X3, X4) uTake2(active(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, active(X2), X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, active(X3), X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, X3, active(X4)) -> uTake2(X1, X2, X3, X4) uLength(mark(X1), X2) -> uLength(X1, X2) uLength(X1, mark(X2)) -> uLength(X1, X2) uLength(active(X1), X2) -> uLength(X1, X2) uLength(X1, active(X2)) -> uLength(X1, X2) The (relative) TRS S consists of the following rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_isNatIList(x_1)) -> isNatIList(encArg(x_1)) encArg(cons_isNatList(x_1)) -> isNatList(encArg(x_1)) encArg(cons_isNat(x_1)) -> isNat(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encArg(cons_uTake1(x_1)) -> uTake1(encArg(x_1)) encArg(cons_uTake2(x_1, x_2, x_3, x_4)) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encArg(cons_uLength(x_1, x_2)) -> uLength(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_mark(x_1) -> mark(encArg(x_1)) encode_isNatIList(x_1) -> isNatIList(encArg(x_1)) encode_isNatList(x_1) -> isNatList(encArg(x_1)) encode_isNat(x_1) -> isNat(encArg(x_1)) encode_0 -> 0 encode_s(x_1) -> s(encArg(x_1)) encode_length(x_1) -> length(encArg(x_1)) encode_zeros -> zeros encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) encode_uTake1(x_1) -> uTake1(encArg(x_1)) encode_uTake2(x_1, x_2, x_3, x_4) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encode_uLength(x_1, x_2) -> uLength(encArg(x_1), encArg(x_2)) Rewrite Strategy: INNERMOST ---------------------------------------- (13) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (14) Obligation: The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(and(tt, T)) -> mark(T) active(isNatIList(IL)) -> mark(isNatList(IL)) active(isNat(0)) -> mark(tt) active(isNat(s(N))) -> mark(isNat(N)) active(isNat(length(L))) -> mark(isNatList(L)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(N, L))) -> mark(and(isNat(N), isNatList(L))) active(isNatList(take(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) active(zeros) -> mark(cons(0, zeros)) active(take(0, IL)) -> mark(uTake1(isNatIList(IL))) active(uTake1(tt)) -> mark(nil) active(take(s(M), cons(N, IL))) -> mark(uTake2(and(isNat(M), and(isNat(N), isNatIList(IL))), M, N, IL)) active(uTake2(tt, M, N, IL)) -> mark(cons(N, take(M, IL))) active(length(cons(N, L))) -> mark(uLength(and(isNat(N), isNatList(L)), L)) active(uLength(tt, L)) -> mark(s(length(L))) mark(and(X1, X2)) -> active(and(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(isNatIList(X)) -> active(isNatIList(X)) mark(isNatList(X)) -> active(isNatList(X)) mark(isNat(X)) -> active(isNat(X)) mark(0) -> active(0) mark(s(X)) -> active(s(mark(X))) mark(length(X)) -> active(length(mark(X))) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(nil) -> active(nil) mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))) mark(uTake1(X)) -> active(uTake1(mark(X))) mark(uTake2(X1, X2, X3, X4)) -> active(uTake2(mark(X1), X2, X3, X4)) mark(uLength(X1, X2)) -> active(uLength(mark(X1), X2)) and(mark(X1), X2) -> and(X1, X2) and(X1, mark(X2)) -> and(X1, X2) and(active(X1), X2) -> and(X1, X2) and(X1, active(X2)) -> and(X1, X2) isNatIList(mark(X)) -> isNatIList(X) isNatIList(active(X)) -> isNatIList(X) isNatList(mark(X)) -> isNatList(X) isNatList(active(X)) -> isNatList(X) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) length(mark(X)) -> length(X) length(active(X)) -> length(X) cons(mark(X1), X2) -> cons(X1, X2) cons(X1, mark(X2)) -> cons(X1, X2) cons(active(X1), X2) -> cons(X1, X2) cons(X1, active(X2)) -> cons(X1, X2) take(mark(X1), X2) -> take(X1, X2) take(X1, mark(X2)) -> take(X1, X2) take(active(X1), X2) -> take(X1, X2) take(X1, active(X2)) -> take(X1, X2) uTake1(mark(X)) -> uTake1(X) uTake1(active(X)) -> uTake1(X) uTake2(mark(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, mark(X2), X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, mark(X3), X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, X3, mark(X4)) -> uTake2(X1, X2, X3, X4) uTake2(active(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, active(X2), X3, X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, active(X3), X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, X3, active(X4)) -> uTake2(X1, X2, X3, X4) uLength(mark(X1), X2) -> uLength(X1, X2) uLength(X1, mark(X2)) -> uLength(X1, X2) uLength(active(X1), X2) -> uLength(X1, X2) uLength(X1, active(X2)) -> uLength(X1, X2) encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_isNatIList(x_1)) -> isNatIList(encArg(x_1)) encArg(cons_isNatList(x_1)) -> isNatList(encArg(x_1)) encArg(cons_isNat(x_1)) -> isNat(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encArg(cons_uTake1(x_1)) -> uTake1(encArg(x_1)) encArg(cons_uTake2(x_1, x_2, x_3, x_4)) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encArg(cons_uLength(x_1, x_2)) -> uLength(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_mark(x_1) -> mark(encArg(x_1)) encode_isNatIList(x_1) -> isNatIList(encArg(x_1)) encode_isNatList(x_1) -> isNatList(encArg(x_1)) encode_isNat(x_1) -> isNat(encArg(x_1)) encode_0 -> 0 encode_s(x_1) -> s(encArg(x_1)) encode_length(x_1) -> length(encArg(x_1)) encode_zeros -> zeros encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) encode_uTake1(x_1) -> uTake1(encArg(x_1)) encode_uTake2(x_1, x_2, x_3, x_4) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encode_uLength(x_1, x_2) -> uLength(encArg(x_1), encArg(x_2)) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (15) NonCtorToCtorProof (UPPER BOUND(ID)) transformed non-ctor to ctor-system ---------------------------------------- (16) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(zeros) -> mark(cons(0, zeros)) mark(tt) -> active(tt) mark(0) -> active(0) mark(zeros) -> active(zeros) mark(nil) -> active(nil) isNat(c_active(X)) -> isNat(X) uTake2(X1, c_active(X2), X3, X4) -> uTake2(X1, X2, X3, X4) cons(c_mark(X1), X2) -> cons(X1, X2) length(c_mark(X)) -> length(X) uTake2(X1, X2, X3, c_mark(X4)) -> uTake2(X1, X2, X3, X4) take(c_mark(X1), X2) -> take(X1, X2) mark(c_isNatList(X)) -> active(isNatList(X)) uTake2(c_active(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) mark(c_uTake2(X1, X2, X3, X4)) -> active(uTake2(mark(X1), X2, X3, X4)) take(c_active(X1), X2) -> take(X1, X2) uTake1(c_mark(X)) -> uTake1(X) active(c_uTake2(tt, M, N, IL)) -> mark(cons(N, take(M, IL))) active(c_isNatIList(c_cons(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) active(c_isNatList(c_take(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) uTake1(c_active(X)) -> uTake1(X) active(c_uTake1(tt)) -> mark(nil) active(c_isNatList(c_cons(N, L))) -> mark(and(isNat(N), isNatList(L))) isNat(c_mark(X)) -> isNat(X) mark(c_uTake1(X)) -> active(uTake1(mark(X))) active(c_isNat(0)) -> mark(tt) active(c_uLength(tt, L)) -> mark(s(length(L))) mark(c_isNatIList(X)) -> active(isNatIList(X)) mark(c_uLength(X1, X2)) -> active(uLength(mark(X1), X2)) take(X1, c_active(X2)) -> take(X1, X2) uLength(X1, c_mark(X2)) -> uLength(X1, X2) active(c_isNatIList(IL)) -> mark(isNatList(IL)) isNatIList(c_active(X)) -> isNatIList(X) uTake2(X1, X2, X3, c_active(X4)) -> uTake2(X1, X2, X3, X4) active(c_take(c_s(M), c_cons(N, IL))) -> mark(uTake2(and(isNat(M), and(isNat(N), isNatIList(IL))), M, N, IL)) mark(c_s(X)) -> active(s(mark(X))) s(c_active(X)) -> s(X) and(c_active(X1), X2) -> and(X1, X2) cons(X1, c_active(X2)) -> cons(X1, X2) uLength(c_active(X1), X2) -> uLength(X1, X2) active(c_isNat(c_s(N))) -> mark(isNat(N)) mark(c_take(X1, X2)) -> active(take(mark(X1), mark(X2))) cons(X1, c_mark(X2)) -> cons(X1, X2) uLength(c_mark(X1), X2) -> uLength(X1, X2) isNatIList(c_mark(X)) -> isNatIList(X) uTake2(c_mark(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) mark(c_length(X)) -> active(length(mark(X))) active(c_isNat(c_length(L))) -> mark(isNatList(L)) take(X1, c_mark(X2)) -> take(X1, X2) active(c_isNatIList(zeros)) -> mark(tt) s(c_mark(X)) -> s(X) mark(c_and(X1, X2)) -> active(and(mark(X1), mark(X2))) uTake2(X1, c_mark(X2), X3, X4) -> uTake2(X1, X2, X3, X4) uLength(X1, c_active(X2)) -> uLength(X1, X2) active(c_take(0, IL)) -> mark(uTake1(isNatIList(IL))) active(c_and(tt, T)) -> mark(T) isNatList(c_mark(X)) -> isNatList(X) length(c_active(X)) -> length(X) active(c_isNatList(nil)) -> mark(tt) isNatList(c_active(X)) -> isNatList(X) cons(c_active(X1), X2) -> cons(X1, X2) mark(c_isNat(X)) -> active(isNat(X)) mark(c_cons(X1, X2)) -> active(cons(mark(X1), X2)) and(X1, c_mark(X2)) -> and(X1, X2) and(c_mark(X1), X2) -> and(X1, X2) active(c_length(c_cons(N, L))) -> mark(uLength(and(isNat(N), isNatList(L)), L)) uTake2(X1, X2, c_mark(X3), X4) -> uTake2(X1, X2, X3, X4) uTake2(X1, X2, c_active(X3), X4) -> uTake2(X1, X2, X3, X4) and(X1, c_active(X2)) -> and(X1, X2) The (relative) TRS S consists of the following rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) encArg(cons_isNatIList(x_1)) -> isNatIList(encArg(x_1)) encArg(cons_isNatList(x_1)) -> isNatList(encArg(x_1)) encArg(cons_isNat(x_1)) -> isNat(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_length(x_1)) -> length(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) encArg(cons_uTake1(x_1)) -> uTake1(encArg(x_1)) encArg(cons_uTake2(x_1, x_2, x_3, x_4)) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encArg(cons_uLength(x_1, x_2)) -> uLength(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) encode_tt -> tt encode_mark(x_1) -> mark(encArg(x_1)) encode_isNatIList(x_1) -> isNatIList(encArg(x_1)) encode_isNatList(x_1) -> isNatList(encArg(x_1)) encode_isNat(x_1) -> isNat(encArg(x_1)) encode_0 -> 0 encode_s(x_1) -> s(encArg(x_1)) encode_length(x_1) -> length(encArg(x_1)) encode_zeros -> zeros encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) encode_uTake1(x_1) -> uTake1(encArg(x_1)) encode_uTake2(x_1, x_2, x_3, x_4) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) encode_uLength(x_1, x_2) -> uLength(encArg(x_1), encArg(x_2)) isNatIList(x0) -> c_isNatIList(x0) isNat(x0) -> c_isNat(x0) uTake1(x0) -> c_uTake1(x0) and(x0, x1) -> c_and(x0, x1) uLength(x0, x1) -> c_uLength(x0, x1) s(x0) -> c_s(x0) active(x0) -> c_active(x0) uTake2(x0, x1, x2, x3) -> c_uTake2(x0, x1, x2, x3) length(x0) -> c_length(x0) take(x0, x1) -> c_take(x0, x1) cons(x0, x1) -> c_cons(x0, x1) isNatList(x0) -> c_isNatList(x0) mark(x0) -> c_mark(x0) Rewrite Strategy: INNERMOST ---------------------------------------- (17) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (18) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(zeros) -> mark(cons(0, zeros)) [1] mark(tt) -> active(tt) [1] mark(0) -> active(0) [1] mark(zeros) -> active(zeros) [1] mark(nil) -> active(nil) [1] isNat(c_active(X)) -> isNat(X) [1] uTake2(X1, c_active(X2), X3, X4) -> uTake2(X1, X2, X3, X4) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] length(c_mark(X)) -> length(X) [1] uTake2(X1, X2, X3, c_mark(X4)) -> uTake2(X1, X2, X3, X4) [1] take(c_mark(X1), X2) -> take(X1, X2) [1] mark(c_isNatList(X)) -> active(isNatList(X)) [1] uTake2(c_active(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) [1] mark(c_uTake2(X1, X2, X3, X4)) -> active(uTake2(mark(X1), X2, X3, X4)) [1] take(c_active(X1), X2) -> take(X1, X2) [1] uTake1(c_mark(X)) -> uTake1(X) [1] active(c_uTake2(tt, M, N, IL)) -> mark(cons(N, take(M, IL))) [1] active(c_isNatIList(c_cons(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) [1] active(c_isNatList(c_take(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) [1] uTake1(c_active(X)) -> uTake1(X) [1] active(c_uTake1(tt)) -> mark(nil) [1] active(c_isNatList(c_cons(N, L))) -> mark(and(isNat(N), isNatList(L))) [1] isNat(c_mark(X)) -> isNat(X) [1] mark(c_uTake1(X)) -> active(uTake1(mark(X))) [1] active(c_isNat(0)) -> mark(tt) [1] active(c_uLength(tt, L)) -> mark(s(length(L))) [1] mark(c_isNatIList(X)) -> active(isNatIList(X)) [1] mark(c_uLength(X1, X2)) -> active(uLength(mark(X1), X2)) [1] take(X1, c_active(X2)) -> take(X1, X2) [1] uLength(X1, c_mark(X2)) -> uLength(X1, X2) [1] active(c_isNatIList(IL)) -> mark(isNatList(IL)) [1] isNatIList(c_active(X)) -> isNatIList(X) [1] uTake2(X1, X2, X3, c_active(X4)) -> uTake2(X1, X2, X3, X4) [1] active(c_take(c_s(M), c_cons(N, IL))) -> mark(uTake2(and(isNat(M), and(isNat(N), isNatIList(IL))), M, N, IL)) [1] mark(c_s(X)) -> active(s(mark(X))) [1] s(c_active(X)) -> s(X) [1] and(c_active(X1), X2) -> and(X1, X2) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] uLength(c_active(X1), X2) -> uLength(X1, X2) [1] active(c_isNat(c_s(N))) -> mark(isNat(N)) [1] mark(c_take(X1, X2)) -> active(take(mark(X1), mark(X2))) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] uLength(c_mark(X1), X2) -> uLength(X1, X2) [1] isNatIList(c_mark(X)) -> isNatIList(X) [1] uTake2(c_mark(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) [1] mark(c_length(X)) -> active(length(mark(X))) [1] active(c_isNat(c_length(L))) -> mark(isNatList(L)) [1] take(X1, c_mark(X2)) -> take(X1, X2) [1] active(c_isNatIList(zeros)) -> mark(tt) [1] s(c_mark(X)) -> s(X) [1] mark(c_and(X1, X2)) -> active(and(mark(X1), mark(X2))) [1] uTake2(X1, c_mark(X2), X3, X4) -> uTake2(X1, X2, X3, X4) [1] uLength(X1, c_active(X2)) -> uLength(X1, X2) [1] active(c_take(0, IL)) -> mark(uTake1(isNatIList(IL))) [1] active(c_and(tt, T)) -> mark(T) [1] isNatList(c_mark(X)) -> isNatList(X) [1] length(c_active(X)) -> length(X) [1] active(c_isNatList(nil)) -> mark(tt) [1] isNatList(c_active(X)) -> isNatList(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] mark(c_isNat(X)) -> active(isNat(X)) [1] mark(c_cons(X1, X2)) -> active(cons(mark(X1), X2)) [1] and(X1, c_mark(X2)) -> and(X1, X2) [1] and(c_mark(X1), X2) -> and(X1, X2) [1] active(c_length(c_cons(N, L))) -> mark(uLength(and(isNat(N), isNatList(L)), L)) [1] uTake2(X1, X2, c_mark(X3), X4) -> uTake2(X1, X2, X3, X4) [1] uTake2(X1, X2, c_active(X3), X4) -> uTake2(X1, X2, X3, X4) [1] and(X1, c_active(X2)) -> and(X1, X2) [1] encArg(tt) -> tt [0] encArg(0) -> 0 [0] encArg(zeros) -> zeros [0] encArg(nil) -> nil [0] encArg(cons_active(x_1)) -> active(encArg(x_1)) [0] encArg(cons_mark(x_1)) -> mark(encArg(x_1)) [0] encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) [0] encArg(cons_isNatIList(x_1)) -> isNatIList(encArg(x_1)) [0] encArg(cons_isNatList(x_1)) -> isNatList(encArg(x_1)) [0] encArg(cons_isNat(x_1)) -> isNat(encArg(x_1)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_length(x_1)) -> length(encArg(x_1)) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) [0] encArg(cons_uTake1(x_1)) -> uTake1(encArg(x_1)) [0] encArg(cons_uTake2(x_1, x_2, x_3, x_4)) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) [0] encArg(cons_uLength(x_1, x_2)) -> uLength(encArg(x_1), encArg(x_2)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) [0] encode_tt -> tt [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_isNatIList(x_1) -> isNatIList(encArg(x_1)) [0] encode_isNatList(x_1) -> isNatList(encArg(x_1)) [0] encode_isNat(x_1) -> isNat(encArg(x_1)) [0] encode_0 -> 0 [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_length(x_1) -> length(encArg(x_1)) [0] encode_zeros -> zeros [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_nil -> nil [0] encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) [0] encode_uTake1(x_1) -> uTake1(encArg(x_1)) [0] encode_uTake2(x_1, x_2, x_3, x_4) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) [0] encode_uLength(x_1, x_2) -> uLength(encArg(x_1), encArg(x_2)) [0] isNatIList(x0) -> c_isNatIList(x0) [0] isNat(x0) -> c_isNat(x0) [0] uTake1(x0) -> c_uTake1(x0) [0] and(x0, x1) -> c_and(x0, x1) [0] uLength(x0, x1) -> c_uLength(x0, x1) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] uTake2(x0, x1, x2, x3) -> c_uTake2(x0, x1, x2, x3) [0] length(x0) -> c_length(x0) [0] take(x0, x1) -> c_take(x0, x1) [0] cons(x0, x1) -> c_cons(x0, x1) [0] isNatList(x0) -> c_isNatList(x0) [0] mark(x0) -> c_mark(x0) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (19) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (20) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: active(zeros) -> mark(cons(0, zeros)) [1] mark(tt) -> active(tt) [1] mark(0) -> active(0) [1] mark(zeros) -> active(zeros) [1] mark(nil) -> active(nil) [1] isNat(c_active(X)) -> isNat(X) [1] uTake2(X1, c_active(X2), X3, X4) -> uTake2(X1, X2, X3, X4) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] length(c_mark(X)) -> length(X) [1] uTake2(X1, X2, X3, c_mark(X4)) -> uTake2(X1, X2, X3, X4) [1] take(c_mark(X1), X2) -> take(X1, X2) [1] mark(c_isNatList(X)) -> active(isNatList(X)) [1] uTake2(c_active(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) [1] mark(c_uTake2(X1, X2, X3, X4)) -> active(uTake2(mark(X1), X2, X3, X4)) [1] take(c_active(X1), X2) -> take(X1, X2) [1] uTake1(c_mark(X)) -> uTake1(X) [1] active(c_uTake2(tt, M, N, IL)) -> mark(cons(N, take(M, IL))) [1] active(c_isNatIList(c_cons(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) [1] active(c_isNatList(c_take(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) [1] uTake1(c_active(X)) -> uTake1(X) [1] active(c_uTake1(tt)) -> mark(nil) [1] active(c_isNatList(c_cons(N, L))) -> mark(and(isNat(N), isNatList(L))) [1] isNat(c_mark(X)) -> isNat(X) [1] mark(c_uTake1(X)) -> active(uTake1(mark(X))) [1] active(c_isNat(0)) -> mark(tt) [1] active(c_uLength(tt, L)) -> mark(s(length(L))) [1] mark(c_isNatIList(X)) -> active(isNatIList(X)) [1] mark(c_uLength(X1, X2)) -> active(uLength(mark(X1), X2)) [1] take(X1, c_active(X2)) -> take(X1, X2) [1] uLength(X1, c_mark(X2)) -> uLength(X1, X2) [1] active(c_isNatIList(IL)) -> mark(isNatList(IL)) [1] isNatIList(c_active(X)) -> isNatIList(X) [1] uTake2(X1, X2, X3, c_active(X4)) -> uTake2(X1, X2, X3, X4) [1] active(c_take(c_s(M), c_cons(N, IL))) -> mark(uTake2(and(isNat(M), and(isNat(N), isNatIList(IL))), M, N, IL)) [1] mark(c_s(X)) -> active(s(mark(X))) [1] s(c_active(X)) -> s(X) [1] and(c_active(X1), X2) -> and(X1, X2) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] uLength(c_active(X1), X2) -> uLength(X1, X2) [1] active(c_isNat(c_s(N))) -> mark(isNat(N)) [1] mark(c_take(X1, X2)) -> active(take(mark(X1), mark(X2))) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] uLength(c_mark(X1), X2) -> uLength(X1, X2) [1] isNatIList(c_mark(X)) -> isNatIList(X) [1] uTake2(c_mark(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) [1] mark(c_length(X)) -> active(length(mark(X))) [1] active(c_isNat(c_length(L))) -> mark(isNatList(L)) [1] take(X1, c_mark(X2)) -> take(X1, X2) [1] active(c_isNatIList(zeros)) -> mark(tt) [1] s(c_mark(X)) -> s(X) [1] mark(c_and(X1, X2)) -> active(and(mark(X1), mark(X2))) [1] uTake2(X1, c_mark(X2), X3, X4) -> uTake2(X1, X2, X3, X4) [1] uLength(X1, c_active(X2)) -> uLength(X1, X2) [1] active(c_take(0, IL)) -> mark(uTake1(isNatIList(IL))) [1] active(c_and(tt, T)) -> mark(T) [1] isNatList(c_mark(X)) -> isNatList(X) [1] length(c_active(X)) -> length(X) [1] active(c_isNatList(nil)) -> mark(tt) [1] isNatList(c_active(X)) -> isNatList(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] mark(c_isNat(X)) -> active(isNat(X)) [1] mark(c_cons(X1, X2)) -> active(cons(mark(X1), X2)) [1] and(X1, c_mark(X2)) -> and(X1, X2) [1] and(c_mark(X1), X2) -> and(X1, X2) [1] active(c_length(c_cons(N, L))) -> mark(uLength(and(isNat(N), isNatList(L)), L)) [1] uTake2(X1, X2, c_mark(X3), X4) -> uTake2(X1, X2, X3, X4) [1] uTake2(X1, X2, c_active(X3), X4) -> uTake2(X1, X2, X3, X4) [1] and(X1, c_active(X2)) -> and(X1, X2) [1] encArg(tt) -> tt [0] encArg(0) -> 0 [0] encArg(zeros) -> zeros [0] encArg(nil) -> nil [0] encArg(cons_active(x_1)) -> active(encArg(x_1)) [0] encArg(cons_mark(x_1)) -> mark(encArg(x_1)) [0] encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) [0] encArg(cons_isNatIList(x_1)) -> isNatIList(encArg(x_1)) [0] encArg(cons_isNatList(x_1)) -> isNatList(encArg(x_1)) [0] encArg(cons_isNat(x_1)) -> isNat(encArg(x_1)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_length(x_1)) -> length(encArg(x_1)) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) [0] encArg(cons_uTake1(x_1)) -> uTake1(encArg(x_1)) [0] encArg(cons_uTake2(x_1, x_2, x_3, x_4)) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) [0] encArg(cons_uLength(x_1, x_2)) -> uLength(encArg(x_1), encArg(x_2)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) [0] encode_tt -> tt [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_isNatIList(x_1) -> isNatIList(encArg(x_1)) [0] encode_isNatList(x_1) -> isNatList(encArg(x_1)) [0] encode_isNat(x_1) -> isNat(encArg(x_1)) [0] encode_0 -> 0 [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_length(x_1) -> length(encArg(x_1)) [0] encode_zeros -> zeros [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_nil -> nil [0] encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) [0] encode_uTake1(x_1) -> uTake1(encArg(x_1)) [0] encode_uTake2(x_1, x_2, x_3, x_4) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) [0] encode_uLength(x_1, x_2) -> uLength(encArg(x_1), encArg(x_2)) [0] isNatIList(x0) -> c_isNatIList(x0) [0] isNat(x0) -> c_isNat(x0) [0] uTake1(x0) -> c_uTake1(x0) [0] and(x0, x1) -> c_and(x0, x1) [0] uLength(x0, x1) -> c_uLength(x0, x1) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] uTake2(x0, x1, x2, x3) -> c_uTake2(x0, x1, x2, x3) [0] length(x0) -> c_length(x0) [0] take(x0, x1) -> c_take(x0, x1) [0] cons(x0, x1) -> c_cons(x0, x1) [0] isNatList(x0) -> c_isNatList(x0) [0] mark(x0) -> c_mark(x0) [0] The TRS has the following type information: active :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength zeros :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength mark :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength 0 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength tt :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength nil :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength isNat :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength c_active :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength uTake2 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength c_mark :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength length :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength take :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength c_isNatList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength isNatList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength c_uTake2 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength uTake1 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength c_isNatIList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength c_cons :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength and :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength isNatIList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength c_take :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength c_uTake1 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength c_isNat :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength c_uLength :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength s :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength uLength :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength c_s :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength c_length :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength c_and :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encArg :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_active :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_mark :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_and :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_isNatIList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_isNatList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_isNat :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_s :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_length :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_cons :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_take :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_uTake1 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_uTake2 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength cons_uLength :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_active :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_and :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_tt :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_mark :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_isNatIList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_isNatList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_isNat :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_0 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_s :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_length :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_zeros :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_cons :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_nil :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_take :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_uTake1 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_uTake2 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength encode_uLength :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength Rewrite Strategy: INNERMOST ---------------------------------------- (21) CompletionProof (UPPER BOUND(ID)) The TRS is a completely defined constructor system, as every type has a constant constructor and the following rules were added: encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_and(v0, v1) -> null_encode_and [0] encode_tt -> null_encode_tt [0] encode_mark(v0) -> null_encode_mark [0] encode_isNatIList(v0) -> null_encode_isNatIList [0] encode_isNatList(v0) -> null_encode_isNatList [0] encode_isNat(v0) -> null_encode_isNat [0] encode_0 -> null_encode_0 [0] encode_s(v0) -> null_encode_s [0] encode_length(v0) -> null_encode_length [0] encode_zeros -> null_encode_zeros [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_nil -> null_encode_nil [0] encode_take(v0, v1) -> null_encode_take [0] encode_uTake1(v0) -> null_encode_uTake1 [0] encode_uTake2(v0, v1, v2, v3) -> null_encode_uTake2 [0] encode_uLength(v0, v1) -> null_encode_uLength [0] isNatIList(v0) -> null_isNatIList [0] isNat(v0) -> null_isNat [0] uTake1(v0) -> null_uTake1 [0] and(v0, v1) -> null_and [0] uLength(v0, v1) -> null_uLength [0] s(v0) -> null_s [0] active(v0) -> null_active [0] uTake2(v0, v1, v2, v3) -> null_uTake2 [0] length(v0) -> null_length [0] take(v0, v1) -> null_take [0] cons(v0, v1) -> null_cons [0] isNatList(v0) -> null_isNatList [0] mark(v0) -> null_mark [0] And the following fresh constants: null_encArg, null_encode_active, null_encode_and, null_encode_tt, null_encode_mark, null_encode_isNatIList, null_encode_isNatList, null_encode_isNat, null_encode_0, null_encode_s, null_encode_length, null_encode_zeros, null_encode_cons, null_encode_nil, null_encode_take, null_encode_uTake1, null_encode_uTake2, null_encode_uLength, null_isNatIList, null_isNat, null_uTake1, null_and, null_uLength, null_s, null_active, null_uTake2, null_length, null_take, null_cons, null_isNatList, null_mark ---------------------------------------- (22) Obligation: Runtime Complexity Weighted TRS where all functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: active(zeros) -> mark(cons(0, zeros)) [1] mark(tt) -> active(tt) [1] mark(0) -> active(0) [1] mark(zeros) -> active(zeros) [1] mark(nil) -> active(nil) [1] isNat(c_active(X)) -> isNat(X) [1] uTake2(X1, c_active(X2), X3, X4) -> uTake2(X1, X2, X3, X4) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] length(c_mark(X)) -> length(X) [1] uTake2(X1, X2, X3, c_mark(X4)) -> uTake2(X1, X2, X3, X4) [1] take(c_mark(X1), X2) -> take(X1, X2) [1] mark(c_isNatList(X)) -> active(isNatList(X)) [1] uTake2(c_active(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) [1] mark(c_uTake2(X1, X2, X3, X4)) -> active(uTake2(mark(X1), X2, X3, X4)) [1] take(c_active(X1), X2) -> take(X1, X2) [1] uTake1(c_mark(X)) -> uTake1(X) [1] active(c_uTake2(tt, M, N, IL)) -> mark(cons(N, take(M, IL))) [1] active(c_isNatIList(c_cons(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) [1] active(c_isNatList(c_take(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) [1] uTake1(c_active(X)) -> uTake1(X) [1] active(c_uTake1(tt)) -> mark(nil) [1] active(c_isNatList(c_cons(N, L))) -> mark(and(isNat(N), isNatList(L))) [1] isNat(c_mark(X)) -> isNat(X) [1] mark(c_uTake1(X)) -> active(uTake1(mark(X))) [1] active(c_isNat(0)) -> mark(tt) [1] active(c_uLength(tt, L)) -> mark(s(length(L))) [1] mark(c_isNatIList(X)) -> active(isNatIList(X)) [1] mark(c_uLength(X1, X2)) -> active(uLength(mark(X1), X2)) [1] take(X1, c_active(X2)) -> take(X1, X2) [1] uLength(X1, c_mark(X2)) -> uLength(X1, X2) [1] active(c_isNatIList(IL)) -> mark(isNatList(IL)) [1] isNatIList(c_active(X)) -> isNatIList(X) [1] uTake2(X1, X2, X3, c_active(X4)) -> uTake2(X1, X2, X3, X4) [1] active(c_take(c_s(M), c_cons(N, IL))) -> mark(uTake2(and(isNat(M), and(isNat(N), isNatIList(IL))), M, N, IL)) [1] mark(c_s(X)) -> active(s(mark(X))) [1] s(c_active(X)) -> s(X) [1] and(c_active(X1), X2) -> and(X1, X2) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] uLength(c_active(X1), X2) -> uLength(X1, X2) [1] active(c_isNat(c_s(N))) -> mark(isNat(N)) [1] mark(c_take(X1, X2)) -> active(take(mark(X1), mark(X2))) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] uLength(c_mark(X1), X2) -> uLength(X1, X2) [1] isNatIList(c_mark(X)) -> isNatIList(X) [1] uTake2(c_mark(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) [1] mark(c_length(X)) -> active(length(mark(X))) [1] active(c_isNat(c_length(L))) -> mark(isNatList(L)) [1] take(X1, c_mark(X2)) -> take(X1, X2) [1] active(c_isNatIList(zeros)) -> mark(tt) [1] s(c_mark(X)) -> s(X) [1] mark(c_and(X1, X2)) -> active(and(mark(X1), mark(X2))) [1] uTake2(X1, c_mark(X2), X3, X4) -> uTake2(X1, X2, X3, X4) [1] uLength(X1, c_active(X2)) -> uLength(X1, X2) [1] active(c_take(0, IL)) -> mark(uTake1(isNatIList(IL))) [1] active(c_and(tt, T)) -> mark(T) [1] isNatList(c_mark(X)) -> isNatList(X) [1] length(c_active(X)) -> length(X) [1] active(c_isNatList(nil)) -> mark(tt) [1] isNatList(c_active(X)) -> isNatList(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] mark(c_isNat(X)) -> active(isNat(X)) [1] mark(c_cons(X1, X2)) -> active(cons(mark(X1), X2)) [1] and(X1, c_mark(X2)) -> and(X1, X2) [1] and(c_mark(X1), X2) -> and(X1, X2) [1] active(c_length(c_cons(N, L))) -> mark(uLength(and(isNat(N), isNatList(L)), L)) [1] uTake2(X1, X2, c_mark(X3), X4) -> uTake2(X1, X2, X3, X4) [1] uTake2(X1, X2, c_active(X3), X4) -> uTake2(X1, X2, X3, X4) [1] and(X1, c_active(X2)) -> and(X1, X2) [1] encArg(tt) -> tt [0] encArg(0) -> 0 [0] encArg(zeros) -> zeros [0] encArg(nil) -> nil [0] encArg(cons_active(x_1)) -> active(encArg(x_1)) [0] encArg(cons_mark(x_1)) -> mark(encArg(x_1)) [0] encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) [0] encArg(cons_isNatIList(x_1)) -> isNatIList(encArg(x_1)) [0] encArg(cons_isNatList(x_1)) -> isNatList(encArg(x_1)) [0] encArg(cons_isNat(x_1)) -> isNat(encArg(x_1)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_length(x_1)) -> length(encArg(x_1)) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) [0] encArg(cons_uTake1(x_1)) -> uTake1(encArg(x_1)) [0] encArg(cons_uTake2(x_1, x_2, x_3, x_4)) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) [0] encArg(cons_uLength(x_1, x_2)) -> uLength(encArg(x_1), encArg(x_2)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) [0] encode_tt -> tt [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_isNatIList(x_1) -> isNatIList(encArg(x_1)) [0] encode_isNatList(x_1) -> isNatList(encArg(x_1)) [0] encode_isNat(x_1) -> isNat(encArg(x_1)) [0] encode_0 -> 0 [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_length(x_1) -> length(encArg(x_1)) [0] encode_zeros -> zeros [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_nil -> nil [0] encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) [0] encode_uTake1(x_1) -> uTake1(encArg(x_1)) [0] encode_uTake2(x_1, x_2, x_3, x_4) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) [0] encode_uLength(x_1, x_2) -> uLength(encArg(x_1), encArg(x_2)) [0] isNatIList(x0) -> c_isNatIList(x0) [0] isNat(x0) -> c_isNat(x0) [0] uTake1(x0) -> c_uTake1(x0) [0] and(x0, x1) -> c_and(x0, x1) [0] uLength(x0, x1) -> c_uLength(x0, x1) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] uTake2(x0, x1, x2, x3) -> c_uTake2(x0, x1, x2, x3) [0] length(x0) -> c_length(x0) [0] take(x0, x1) -> c_take(x0, x1) [0] cons(x0, x1) -> c_cons(x0, x1) [0] isNatList(x0) -> c_isNatList(x0) [0] mark(x0) -> c_mark(x0) [0] encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_and(v0, v1) -> null_encode_and [0] encode_tt -> null_encode_tt [0] encode_mark(v0) -> null_encode_mark [0] encode_isNatIList(v0) -> null_encode_isNatIList [0] encode_isNatList(v0) -> null_encode_isNatList [0] encode_isNat(v0) -> null_encode_isNat [0] encode_0 -> null_encode_0 [0] encode_s(v0) -> null_encode_s [0] encode_length(v0) -> null_encode_length [0] encode_zeros -> null_encode_zeros [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_nil -> null_encode_nil [0] encode_take(v0, v1) -> null_encode_take [0] encode_uTake1(v0) -> null_encode_uTake1 [0] encode_uTake2(v0, v1, v2, v3) -> null_encode_uTake2 [0] encode_uLength(v0, v1) -> null_encode_uLength [0] isNatIList(v0) -> null_isNatIList [0] isNat(v0) -> null_isNat [0] uTake1(v0) -> null_uTake1 [0] and(v0, v1) -> null_and [0] uLength(v0, v1) -> null_uLength [0] s(v0) -> null_s [0] active(v0) -> null_active [0] uTake2(v0, v1, v2, v3) -> null_uTake2 [0] length(v0) -> null_length [0] take(v0, v1) -> null_take [0] cons(v0, v1) -> null_cons [0] isNatList(v0) -> null_isNatList [0] mark(v0) -> null_mark [0] The TRS has the following type information: active :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark zeros :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark mark :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark 0 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark tt :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark nil :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark isNat :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_active :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark uTake2 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_mark :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark length :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark take :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_isNatList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark isNatList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_uTake2 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark uTake1 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_isNatIList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_cons :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark and :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark isNatIList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_take :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_uTake1 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_isNat :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_uLength :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark s :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark uLength :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_s :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_length :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_and :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encArg :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_active :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_mark :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_and :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_isNatIList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_isNatList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_isNat :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_s :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_length :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_cons :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_take :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_uTake1 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_uTake2 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_uLength :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_active :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_and :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_tt :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_mark :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_isNatIList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_isNatList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_isNat :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_0 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_s :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_length :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_zeros :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_cons :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_nil :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_take :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_uTake1 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_uTake2 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_uLength :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encArg :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_active :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_and :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_tt :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_mark :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_isNatIList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_isNatList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_isNat :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_0 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_s :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_length :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_zeros :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_cons :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_nil :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_take :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_uTake1 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_uTake2 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_uLength :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_isNatIList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_isNat :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_uTake1 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_and :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_uLength :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_s :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_active :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_uTake2 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_length :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_take :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_cons :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_isNatList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_mark :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark Rewrite Strategy: INNERMOST ---------------------------------------- (23) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: zeros => 3 0 => 0 tt => 2 nil => 1 null_encArg => 0 null_encode_active => 0 null_encode_and => 0 null_encode_tt => 0 null_encode_mark => 0 null_encode_isNatIList => 0 null_encode_isNatList => 0 null_encode_isNat => 0 null_encode_0 => 0 null_encode_s => 0 null_encode_length => 0 null_encode_zeros => 0 null_encode_cons => 0 null_encode_nil => 0 null_encode_take => 0 null_encode_uTake1 => 0 null_encode_uTake2 => 0 null_encode_uLength => 0 null_isNatIList => 0 null_isNat => 0 null_uTake1 => 0 null_and => 0 null_uLength => 0 null_s => 0 null_active => 0 null_uTake2 => 0 null_length => 0 null_take => 0 null_cons => 0 null_isNatList => 0 null_mark => 0 ---------------------------------------- (24) Obligation: Complexity RNTS consisting of the following rules: active(z) -{ 1 }-> mark(T) :|: z = 1 + 2 + T, T >= 0 active(z) -{ 1 }-> mark(uTake2(and(isNat(M), and(isNat(N), isNatIList(IL))), M, N, IL)) :|: z = 1 + (1 + M) + (1 + N + IL), M >= 0, IL >= 0, N >= 0 active(z) -{ 1 }-> mark(uTake1(isNatIList(IL))) :|: z = 1 + 0 + IL, IL >= 0 active(z) -{ 1 }-> mark(uLength(and(isNat(N), isNatList(L)), L)) :|: L >= 0, z = 1 + (1 + N + L), N >= 0 active(z) -{ 1 }-> mark(s(length(L))) :|: z = 1 + 2 + L, L >= 0 active(z) -{ 1 }-> mark(isNatList(IL)) :|: z = 1 + IL, IL >= 0 active(z) -{ 1 }-> mark(isNatList(L)) :|: z = 1 + (1 + L), L >= 0 active(z) -{ 1 }-> mark(isNat(N)) :|: z = 1 + (1 + N), N >= 0 active(z) -{ 1 }-> mark(cons(N, take(M, IL))) :|: z = 1 + 2 + M + N + IL, M >= 0, IL >= 0, N >= 0 active(z) -{ 1 }-> mark(cons(0, 3)) :|: z = 3 active(z) -{ 1 }-> mark(and(isNat(N), isNatList(L))) :|: L >= 0, z = 1 + (1 + N + L), N >= 0 active(z) -{ 1 }-> mark(and(isNat(N), isNatIList(IL))) :|: z = 1 + (1 + N + IL), IL >= 0, N >= 0 active(z) -{ 1 }-> mark(2) :|: z = 1 + 0 active(z) -{ 1 }-> mark(2) :|: z = 1 + 3 active(z) -{ 1 }-> mark(2) :|: z = 1 + 1 active(z) -{ 1 }-> mark(1) :|: z = 1 + 2 active(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 active(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 and(z, z') -{ 1 }-> and(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 and(z, z') -{ 1 }-> and(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 and(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 and(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 cons(z, z') -{ 1 }-> cons(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 cons(z, z') -{ 1 }-> cons(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 cons(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 cons(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 encArg(z) -{ 0 }-> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) :|: x_1 >= 0, x_3 >= 0, x_2 >= 0, z = 1 + x_1 + x_2 + x_3 + x_4, x_4 >= 0 encArg(z) -{ 0 }-> uTake1(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> uLength(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> take(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> s(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> mark(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> length(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> isNatList(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> isNatIList(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> isNat(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> and(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> active(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> 3 :|: z = 3 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_0 -{ 0 }-> 0 :|: encode_active(z) -{ 0 }-> active(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_active(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_and(z, z') -{ 0 }-> and(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_and(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_cons(z, z') -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_cons(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_isNat(z) -{ 0 }-> isNat(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_isNat(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_isNatIList(z) -{ 0 }-> isNatIList(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_isNatIList(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_isNatList(z) -{ 0 }-> isNatList(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_isNatList(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_length(z) -{ 0 }-> length(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_length(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_mark(z) -{ 0 }-> mark(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_nil -{ 0 }-> 1 :|: encode_nil -{ 0 }-> 0 :|: encode_s(z) -{ 0 }-> s(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_take(z, z') -{ 0 }-> take(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_take(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_tt -{ 0 }-> 2 :|: encode_tt -{ 0 }-> 0 :|: encode_uLength(z, z') -{ 0 }-> uLength(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_uLength(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_uTake1(z) -{ 0 }-> uTake1(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_uTake1(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_uTake2(z, z', z'', z1) -{ 0 }-> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) :|: x_1 >= 0, z1 = x_4, x_3 >= 0, x_2 >= 0, z = x_1, z' = x_2, z'' = x_3, x_4 >= 0 encode_uTake2(z, z', z'', z1) -{ 0 }-> 0 :|: z1 = v3, v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0, v3 >= 0 encode_zeros -{ 0 }-> 3 :|: encode_zeros -{ 0 }-> 0 :|: isNat(z) -{ 1 }-> isNat(X) :|: z = 1 + X, X >= 0 isNat(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 isNat(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 isNatIList(z) -{ 1 }-> isNatIList(X) :|: z = 1 + X, X >= 0 isNatIList(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 isNatIList(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 isNatList(z) -{ 1 }-> isNatList(X) :|: z = 1 + X, X >= 0 isNatList(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 isNatList(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 length(z) -{ 1 }-> length(X) :|: z = 1 + X, X >= 0 length(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 length(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 mark(z) -{ 1 }-> active(uTake2(mark(X1), X2, X3, X4)) :|: X1 >= 0, z = 1 + X1 + X2 + X3 + X4, X3 >= 0, X2 >= 0, X4 >= 0 mark(z) -{ 1 }-> active(uTake1(mark(X))) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(uLength(mark(X1), X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(take(mark(X1), mark(X2))) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(s(mark(X))) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(length(mark(X))) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(isNatList(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(isNatIList(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(isNat(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(cons(mark(X1), X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(and(mark(X1), mark(X2))) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(3) :|: z = 3 mark(z) -{ 1 }-> active(2) :|: z = 2 mark(z) -{ 1 }-> active(1) :|: z = 1 mark(z) -{ 1 }-> active(0) :|: z = 0 mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 mark(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 s(z) -{ 1 }-> s(X) :|: z = 1 + X, X >= 0 s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 s(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 take(z, z') -{ 1 }-> take(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 take(z, z') -{ 1 }-> take(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 take(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 take(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 uLength(z, z') -{ 1 }-> uLength(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 uLength(z, z') -{ 1 }-> uLength(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 uLength(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 uLength(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 uTake1(z) -{ 1 }-> uTake1(X) :|: z = 1 + X, X >= 0 uTake1(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 uTake1(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 uTake2(z, z', z'', z1) -{ 1 }-> uTake2(X1, X2, X3, X4) :|: X1 >= 0, z1 = X4, X3 >= 0, z' = 1 + X2, X2 >= 0, X4 >= 0, z = X1, z'' = X3 uTake2(z, z', z'', z1) -{ 1 }-> uTake2(X1, X2, X3, X4) :|: z1 = 1 + X4, X1 >= 0, X3 >= 0, X2 >= 0, X4 >= 0, z = X1, z' = X2, z'' = X3 uTake2(z, z', z'', z1) -{ 1 }-> uTake2(X1, X2, X3, X4) :|: X1 >= 0, z1 = X4, z = 1 + X1, X3 >= 0, X2 >= 0, X4 >= 0, z' = X2, z'' = X3 uTake2(z, z', z'', z1) -{ 1 }-> uTake2(X1, X2, X3, X4) :|: X1 >= 0, z1 = X4, X3 >= 0, X2 >= 0, X4 >= 0, z = X1, z' = X2, z'' = 1 + X3 uTake2(z, z', z'', z1) -{ 0 }-> 0 :|: z1 = v3, v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0, v3 >= 0 uTake2(z, z', z'', z1) -{ 0 }-> 1 + x0 + x1 + x2 + x3 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1, z1 = x3, z'' = x2, x2 >= 0, x3 >= 0 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (25) CompletionProof (UPPER BOUND(ID)) The transformation into a RNTS is sound, since: (a) The obligation is a constructor system where every type has a constant constructor, (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: none (c) The following functions are completely defined: encArg_1 encode_active_1 encode_and_2 encode_tt encode_mark_1 encode_isNatIList_1 encode_isNatList_1 encode_isNat_1 encode_0 encode_s_1 encode_length_1 encode_zeros encode_cons_2 encode_nil encode_take_2 encode_uTake1_1 encode_uTake2_4 encode_uLength_2 isNatIList_1 isNat_1 uTake1_1 and_2 uLength_2 s_1 active_1 uTake2_4 length_1 take_2 cons_2 isNatList_1 mark_1 Due to the following rules being added: encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_and(v0, v1) -> null_encode_and [0] encode_tt -> null_encode_tt [0] encode_mark(v0) -> null_encode_mark [0] encode_isNatIList(v0) -> null_encode_isNatIList [0] encode_isNatList(v0) -> null_encode_isNatList [0] encode_isNat(v0) -> null_encode_isNat [0] encode_0 -> null_encode_0 [0] encode_s(v0) -> null_encode_s [0] encode_length(v0) -> null_encode_length [0] encode_zeros -> null_encode_zeros [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_nil -> null_encode_nil [0] encode_take(v0, v1) -> null_encode_take [0] encode_uTake1(v0) -> null_encode_uTake1 [0] encode_uTake2(v0, v1, v2, v3) -> null_encode_uTake2 [0] encode_uLength(v0, v1) -> null_encode_uLength [0] isNatIList(v0) -> null_isNatIList [0] isNat(v0) -> null_isNat [0] uTake1(v0) -> null_uTake1 [0] and(v0, v1) -> null_and [0] uLength(v0, v1) -> null_uLength [0] s(v0) -> null_s [0] active(v0) -> null_active [0] uTake2(v0, v1, v2, v3) -> null_uTake2 [0] length(v0) -> null_length [0] take(v0, v1) -> null_take [0] cons(v0, v1) -> null_cons [0] isNatList(v0) -> null_isNatList [0] mark(v0) -> null_mark [0] And the following fresh constants: null_encArg, null_encode_active, null_encode_and, null_encode_tt, null_encode_mark, null_encode_isNatIList, null_encode_isNatList, null_encode_isNat, null_encode_0, null_encode_s, null_encode_length, null_encode_zeros, null_encode_cons, null_encode_nil, null_encode_take, null_encode_uTake1, null_encode_uTake2, null_encode_uLength, null_isNatIList, null_isNat, null_uTake1, null_and, null_uLength, null_s, null_active, null_uTake2, null_length, null_take, null_cons, null_isNatList, null_mark ---------------------------------------- (26) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: active(zeros) -> mark(cons(0, zeros)) [1] mark(tt) -> active(tt) [1] mark(0) -> active(0) [1] mark(zeros) -> active(zeros) [1] mark(nil) -> active(nil) [1] isNat(c_active(X)) -> isNat(X) [1] uTake2(X1, c_active(X2), X3, X4) -> uTake2(X1, X2, X3, X4) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] length(c_mark(X)) -> length(X) [1] uTake2(X1, X2, X3, c_mark(X4)) -> uTake2(X1, X2, X3, X4) [1] take(c_mark(X1), X2) -> take(X1, X2) [1] mark(c_isNatList(X)) -> active(isNatList(X)) [1] uTake2(c_active(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) [1] mark(c_uTake2(X1, X2, X3, X4)) -> active(uTake2(mark(X1), X2, X3, X4)) [1] take(c_active(X1), X2) -> take(X1, X2) [1] uTake1(c_mark(X)) -> uTake1(X) [1] active(c_uTake2(tt, M, N, IL)) -> mark(cons(N, take(M, IL))) [1] active(c_isNatIList(c_cons(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) [1] active(c_isNatList(c_take(N, IL))) -> mark(and(isNat(N), isNatIList(IL))) [1] uTake1(c_active(X)) -> uTake1(X) [1] active(c_uTake1(tt)) -> mark(nil) [1] active(c_isNatList(c_cons(N, L))) -> mark(and(isNat(N), isNatList(L))) [1] isNat(c_mark(X)) -> isNat(X) [1] mark(c_uTake1(X)) -> active(uTake1(mark(X))) [1] active(c_isNat(0)) -> mark(tt) [1] active(c_uLength(tt, L)) -> mark(s(length(L))) [1] mark(c_isNatIList(X)) -> active(isNatIList(X)) [1] mark(c_uLength(X1, X2)) -> active(uLength(mark(X1), X2)) [1] take(X1, c_active(X2)) -> take(X1, X2) [1] uLength(X1, c_mark(X2)) -> uLength(X1, X2) [1] active(c_isNatIList(IL)) -> mark(isNatList(IL)) [1] isNatIList(c_active(X)) -> isNatIList(X) [1] uTake2(X1, X2, X3, c_active(X4)) -> uTake2(X1, X2, X3, X4) [1] active(c_take(c_s(M), c_cons(N, IL))) -> mark(uTake2(and(isNat(M), and(isNat(N), isNatIList(IL))), M, N, IL)) [1] mark(c_s(X)) -> active(s(mark(X))) [1] s(c_active(X)) -> s(X) [1] and(c_active(X1), X2) -> and(X1, X2) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] uLength(c_active(X1), X2) -> uLength(X1, X2) [1] active(c_isNat(c_s(N))) -> mark(isNat(N)) [1] mark(c_take(X1, X2)) -> active(take(mark(X1), mark(X2))) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] uLength(c_mark(X1), X2) -> uLength(X1, X2) [1] isNatIList(c_mark(X)) -> isNatIList(X) [1] uTake2(c_mark(X1), X2, X3, X4) -> uTake2(X1, X2, X3, X4) [1] mark(c_length(X)) -> active(length(mark(X))) [1] active(c_isNat(c_length(L))) -> mark(isNatList(L)) [1] take(X1, c_mark(X2)) -> take(X1, X2) [1] active(c_isNatIList(zeros)) -> mark(tt) [1] s(c_mark(X)) -> s(X) [1] mark(c_and(X1, X2)) -> active(and(mark(X1), mark(X2))) [1] uTake2(X1, c_mark(X2), X3, X4) -> uTake2(X1, X2, X3, X4) [1] uLength(X1, c_active(X2)) -> uLength(X1, X2) [1] active(c_take(0, IL)) -> mark(uTake1(isNatIList(IL))) [1] active(c_and(tt, T)) -> mark(T) [1] isNatList(c_mark(X)) -> isNatList(X) [1] length(c_active(X)) -> length(X) [1] active(c_isNatList(nil)) -> mark(tt) [1] isNatList(c_active(X)) -> isNatList(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] mark(c_isNat(X)) -> active(isNat(X)) [1] mark(c_cons(X1, X2)) -> active(cons(mark(X1), X2)) [1] and(X1, c_mark(X2)) -> and(X1, X2) [1] and(c_mark(X1), X2) -> and(X1, X2) [1] active(c_length(c_cons(N, L))) -> mark(uLength(and(isNat(N), isNatList(L)), L)) [1] uTake2(X1, X2, c_mark(X3), X4) -> uTake2(X1, X2, X3, X4) [1] uTake2(X1, X2, c_active(X3), X4) -> uTake2(X1, X2, X3, X4) [1] and(X1, c_active(X2)) -> and(X1, X2) [1] encArg(tt) -> tt [0] encArg(0) -> 0 [0] encArg(zeros) -> zeros [0] encArg(nil) -> nil [0] encArg(cons_active(x_1)) -> active(encArg(x_1)) [0] encArg(cons_mark(x_1)) -> mark(encArg(x_1)) [0] encArg(cons_and(x_1, x_2)) -> and(encArg(x_1), encArg(x_2)) [0] encArg(cons_isNatIList(x_1)) -> isNatIList(encArg(x_1)) [0] encArg(cons_isNatList(x_1)) -> isNatList(encArg(x_1)) [0] encArg(cons_isNat(x_1)) -> isNat(encArg(x_1)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_length(x_1)) -> length(encArg(x_1)) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_take(x_1, x_2)) -> take(encArg(x_1), encArg(x_2)) [0] encArg(cons_uTake1(x_1)) -> uTake1(encArg(x_1)) [0] encArg(cons_uTake2(x_1, x_2, x_3, x_4)) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) [0] encArg(cons_uLength(x_1, x_2)) -> uLength(encArg(x_1), encArg(x_2)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_and(x_1, x_2) -> and(encArg(x_1), encArg(x_2)) [0] encode_tt -> tt [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_isNatIList(x_1) -> isNatIList(encArg(x_1)) [0] encode_isNatList(x_1) -> isNatList(encArg(x_1)) [0] encode_isNat(x_1) -> isNat(encArg(x_1)) [0] encode_0 -> 0 [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_length(x_1) -> length(encArg(x_1)) [0] encode_zeros -> zeros [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_nil -> nil [0] encode_take(x_1, x_2) -> take(encArg(x_1), encArg(x_2)) [0] encode_uTake1(x_1) -> uTake1(encArg(x_1)) [0] encode_uTake2(x_1, x_2, x_3, x_4) -> uTake2(encArg(x_1), encArg(x_2), encArg(x_3), encArg(x_4)) [0] encode_uLength(x_1, x_2) -> uLength(encArg(x_1), encArg(x_2)) [0] isNatIList(x0) -> c_isNatIList(x0) [0] isNat(x0) -> c_isNat(x0) [0] uTake1(x0) -> c_uTake1(x0) [0] and(x0, x1) -> c_and(x0, x1) [0] uLength(x0, x1) -> c_uLength(x0, x1) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] uTake2(x0, x1, x2, x3) -> c_uTake2(x0, x1, x2, x3) [0] length(x0) -> c_length(x0) [0] take(x0, x1) -> c_take(x0, x1) [0] cons(x0, x1) -> c_cons(x0, x1) [0] isNatList(x0) -> c_isNatList(x0) [0] mark(x0) -> c_mark(x0) [0] encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_and(v0, v1) -> null_encode_and [0] encode_tt -> null_encode_tt [0] encode_mark(v0) -> null_encode_mark [0] encode_isNatIList(v0) -> null_encode_isNatIList [0] encode_isNatList(v0) -> null_encode_isNatList [0] encode_isNat(v0) -> null_encode_isNat [0] encode_0 -> null_encode_0 [0] encode_s(v0) -> null_encode_s [0] encode_length(v0) -> null_encode_length [0] encode_zeros -> null_encode_zeros [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_nil -> null_encode_nil [0] encode_take(v0, v1) -> null_encode_take [0] encode_uTake1(v0) -> null_encode_uTake1 [0] encode_uTake2(v0, v1, v2, v3) -> null_encode_uTake2 [0] encode_uLength(v0, v1) -> null_encode_uLength [0] isNatIList(v0) -> null_isNatIList [0] isNat(v0) -> null_isNat [0] uTake1(v0) -> null_uTake1 [0] and(v0, v1) -> null_and [0] uLength(v0, v1) -> null_uLength [0] s(v0) -> null_s [0] active(v0) -> null_active [0] uTake2(v0, v1, v2, v3) -> null_uTake2 [0] length(v0) -> null_length [0] take(v0, v1) -> null_take [0] cons(v0, v1) -> null_cons [0] isNatList(v0) -> null_isNatList [0] mark(v0) -> null_mark [0] The TRS has the following type information: active :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark zeros :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark mark :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark 0 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark tt :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark nil :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark isNat :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_active :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark uTake2 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_mark :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark length :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark take :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_isNatList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark isNatList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_uTake2 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark uTake1 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_isNatIList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_cons :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark and :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark isNatIList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_take :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_uTake1 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_isNat :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_uLength :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark s :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark uLength :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_s :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_length :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark c_and :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encArg :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_active :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_mark :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_and :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_isNatIList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_isNatList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_isNat :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_s :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_length :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_cons :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_take :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_uTake1 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_uTake2 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark cons_uLength :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_active :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_and :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_tt :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_mark :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_isNatIList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_isNatList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_isNat :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_0 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_s :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_length :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_zeros :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_cons :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_nil :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_take :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_uTake1 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_uTake2 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark encode_uLength :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark -> zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encArg :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_active :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_and :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_tt :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_mark :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_isNatIList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_isNatList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_isNat :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_0 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_s :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_length :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_zeros :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_cons :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_nil :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_take :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_uTake1 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_uTake2 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_encode_uLength :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_isNatIList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_isNat :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_uTake1 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_and :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_uLength :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_s :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_active :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_uTake2 :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_length :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_take :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_cons :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_isNatList :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark null_mark :: zeros:0:tt:nil:c_active:c_mark:c_isNatList:c_uTake2:c_cons:c_isNatIList:c_take:c_uTake1:c_isNat:c_uLength:c_s:c_length:c_and:cons_active:cons_mark:cons_and:cons_isNatIList:cons_isNatList:cons_isNat:cons_s:cons_length:cons_cons:cons_take:cons_uTake1:cons_uTake2:cons_uLength:null_encArg:null_encode_active:null_encode_and:null_encode_tt:null_encode_mark:null_encode_isNatIList:null_encode_isNatList:null_encode_isNat:null_encode_0:null_encode_s:null_encode_length:null_encode_zeros:null_encode_cons:null_encode_nil:null_encode_take:null_encode_uTake1:null_encode_uTake2:null_encode_uLength:null_isNatIList:null_isNat:null_uTake1:null_and:null_uLength:null_s:null_active:null_uTake2:null_length:null_take:null_cons:null_isNatList:null_mark Rewrite Strategy: INNERMOST ---------------------------------------- (27) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS to CDT ---------------------------------------- (28) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) encode_active(z0) -> active(encArg(z0)) encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_tt -> tt encode_mark(z0) -> mark(encArg(z0)) encode_isNatIList(z0) -> isNatIList(encArg(z0)) encode_isNatList(z0) -> isNatList(encArg(z0)) encode_isNat(z0) -> isNat(encArg(z0)) encode_0 -> 0 encode_s(z0) -> s(encArg(z0)) encode_length(z0) -> length(encArg(z0)) encode_zeros -> zeros encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_nil -> nil encode_take(z0, z1) -> take(encArg(z0), encArg(z1)) encode_uTake1(z0) -> uTake1(encArg(z0)) encode_uTake2(z0, z1, z2, z3) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encode_uLength(z0, z1) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(tt) -> c ENCARG(0) -> c1 ENCARG(zeros) -> c2 ENCARG(nil) -> c3 ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_isNatIList(z0)) -> c7(ISNATILIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNatList(z0)) -> c8(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_ACTIVE(z0) -> c17(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_AND(z0, z1) -> c18(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_TT -> c19 ENCODE_MARK(z0) -> c20(MARK(encArg(z0)), ENCARG(z0)) ENCODE_ISNATILIST(z0) -> c21(ISNATILIST(encArg(z0)), ENCARG(z0)) ENCODE_ISNATLIST(z0) -> c22(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCODE_ISNAT(z0) -> c23(ISNAT(encArg(z0)), ENCARG(z0)) ENCODE_0 -> c24 ENCODE_S(z0) -> c25(S(encArg(z0)), ENCARG(z0)) ENCODE_LENGTH(z0) -> c26(LENGTH(encArg(z0)), ENCARG(z0)) ENCODE_ZEROS -> c27 ENCODE_CONS(z0, z1) -> c28(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_NIL -> c29 ENCODE_TAKE(z0, z1) -> c30(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_UTAKE1(z0) -> c31(UTAKE1(encArg(z0)), ENCARG(z0)) ENCODE_UTAKE2(z0, z1, z2, z3) -> c32(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCODE_ULENGTH(z0, z1) -> c33(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), AND(isNat(z0), isNatIList(z1)), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), AND(isNat(z0), isNatList(z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), AND(isNat(z0), isNatIList(z1)), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros)), CONS(0, zeros)) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), UTAKE1(isNatIList(z0)), ISNATILIST(z0)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), UTAKE2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2), AND(isNat(z0), and(isNat(z1), isNatIList(z2))), ISNAT(z0), AND(isNat(z1), isNatIList(z2)), ISNAT(z1), ISNATILIST(z2)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ULENGTH(and(isNat(z0), isNatList(z1)), z1), AND(isNat(z0), isNatList(z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), S(length(z0)), LENGTH(z0)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(tt) -> c52(ACTIVE(tt)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(0) -> c56(ACTIVE(0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(nil) -> c61(ACTIVE(nil)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), AND(isNat(z0), isNatIList(z1)), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), AND(isNat(z0), isNatList(z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), AND(isNat(z0), isNatIList(z1)), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros)), CONS(0, zeros)) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), UTAKE1(isNatIList(z0)), ISNATILIST(z0)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), UTAKE2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2), AND(isNat(z0), and(isNat(z1), isNatIList(z2))), ISNAT(z0), AND(isNat(z1), isNatIList(z2)), ISNAT(z1), ISNATILIST(z2)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ULENGTH(and(isNat(z0), isNatList(z1)), z1), AND(isNat(z0), isNatList(z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), S(length(z0)), LENGTH(z0)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(tt) -> c52(ACTIVE(tt)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(0) -> c56(ACTIVE(0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(nil) -> c61(ACTIVE(nil)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) K tuples:none Defined Rule Symbols: active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2, encArg_1, encode_active_1, encode_and_2, encode_tt, encode_mark_1, encode_isNatIList_1, encode_isNatList_1, encode_isNat_1, encode_0, encode_s_1, encode_length_1, encode_zeros, encode_cons_2, encode_nil, encode_take_2, encode_uTake1_1, encode_uTake2_4, encode_uLength_2 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_TT, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_0, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_ZEROS, ENCODE_CONS_2, ENCODE_NIL, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2 Compound Symbols: c, c1, c2, c3, c4_2, c5_2, c6_3, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c17_2, c18_3, c19, c20_2, c21_2, c22_2, c23_2, c24, c25_2, c26_2, c27, c28_3, c29, c30_3, c31_2, c32_5, c33_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c40_4, c41_1, c42_4, c43_4, c44_2, c45_3, c46_1, c47_7, c48_3, c49_5, c50_3, c51_4, c52_1, c53_2, c54_2, c55_2, c56_1, c57_3, c58_3, c59_1, c60_3, c61_1, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1 ---------------------------------------- (29) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing nodes: ENCODE_NIL -> c29 ENCODE_ZEROS -> c27 ENCARG(nil) -> c3 ENCARG(0) -> c1 ENCODE_0 -> c24 ENCARG(tt) -> c ENCODE_TT -> c19 ENCARG(zeros) -> c2 ---------------------------------------- (30) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) encode_active(z0) -> active(encArg(z0)) encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_tt -> tt encode_mark(z0) -> mark(encArg(z0)) encode_isNatIList(z0) -> isNatIList(encArg(z0)) encode_isNatList(z0) -> isNatList(encArg(z0)) encode_isNat(z0) -> isNat(encArg(z0)) encode_0 -> 0 encode_s(z0) -> s(encArg(z0)) encode_length(z0) -> length(encArg(z0)) encode_zeros -> zeros encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_nil -> nil encode_take(z0, z1) -> take(encArg(z0), encArg(z1)) encode_uTake1(z0) -> uTake1(encArg(z0)) encode_uTake2(z0, z1, z2, z3) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encode_uLength(z0, z1) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_isNatIList(z0)) -> c7(ISNATILIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNatList(z0)) -> c8(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_ACTIVE(z0) -> c17(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_AND(z0, z1) -> c18(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_MARK(z0) -> c20(MARK(encArg(z0)), ENCARG(z0)) ENCODE_ISNATILIST(z0) -> c21(ISNATILIST(encArg(z0)), ENCARG(z0)) ENCODE_ISNATLIST(z0) -> c22(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCODE_ISNAT(z0) -> c23(ISNAT(encArg(z0)), ENCARG(z0)) ENCODE_S(z0) -> c25(S(encArg(z0)), ENCARG(z0)) ENCODE_LENGTH(z0) -> c26(LENGTH(encArg(z0)), ENCARG(z0)) ENCODE_CONS(z0, z1) -> c28(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_TAKE(z0, z1) -> c30(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_UTAKE1(z0) -> c31(UTAKE1(encArg(z0)), ENCARG(z0)) ENCODE_UTAKE2(z0, z1, z2, z3) -> c32(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCODE_ULENGTH(z0, z1) -> c33(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), AND(isNat(z0), isNatIList(z1)), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), AND(isNat(z0), isNatList(z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), AND(isNat(z0), isNatIList(z1)), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros)), CONS(0, zeros)) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), UTAKE1(isNatIList(z0)), ISNATILIST(z0)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), UTAKE2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2), AND(isNat(z0), and(isNat(z1), isNatIList(z2))), ISNAT(z0), AND(isNat(z1), isNatIList(z2)), ISNAT(z1), ISNATILIST(z2)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ULENGTH(and(isNat(z0), isNatList(z1)), z1), AND(isNat(z0), isNatList(z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), S(length(z0)), LENGTH(z0)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(tt) -> c52(ACTIVE(tt)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(0) -> c56(ACTIVE(0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(nil) -> c61(ACTIVE(nil)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), AND(isNat(z0), isNatIList(z1)), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), AND(isNat(z0), isNatList(z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), AND(isNat(z0), isNatIList(z1)), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros)), CONS(0, zeros)) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), UTAKE1(isNatIList(z0)), ISNATILIST(z0)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), UTAKE2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2), AND(isNat(z0), and(isNat(z1), isNatIList(z2))), ISNAT(z0), AND(isNat(z1), isNatIList(z2)), ISNAT(z1), ISNATILIST(z2)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ULENGTH(and(isNat(z0), isNatList(z1)), z1), AND(isNat(z0), isNatList(z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), S(length(z0)), LENGTH(z0)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(tt) -> c52(ACTIVE(tt)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(0) -> c56(ACTIVE(0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(nil) -> c61(ACTIVE(nil)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) K tuples:none Defined Rule Symbols: active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2, encArg_1, encode_active_1, encode_and_2, encode_tt, encode_mark_1, encode_isNatIList_1, encode_isNatList_1, encode_isNat_1, encode_0, encode_s_1, encode_length_1, encode_zeros, encode_cons_2, encode_nil, encode_take_2, encode_uTake1_1, encode_uTake2_4, encode_uLength_2 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2 Compound Symbols: c4_2, c5_2, c6_3, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c17_2, c18_3, c20_2, c21_2, c22_2, c23_2, c25_2, c26_2, c28_3, c30_3, c31_2, c32_5, c33_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c40_4, c41_1, c42_4, c43_4, c44_2, c45_3, c46_1, c47_7, c48_3, c49_5, c50_3, c51_4, c52_1, c53_2, c54_2, c55_2, c56_1, c57_3, c58_3, c59_1, c60_3, c61_1, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1 ---------------------------------------- (31) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 14 trailing tuple parts ---------------------------------------- (32) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) encode_active(z0) -> active(encArg(z0)) encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_tt -> tt encode_mark(z0) -> mark(encArg(z0)) encode_isNatIList(z0) -> isNatIList(encArg(z0)) encode_isNatList(z0) -> isNatList(encArg(z0)) encode_isNat(z0) -> isNat(encArg(z0)) encode_0 -> 0 encode_s(z0) -> s(encArg(z0)) encode_length(z0) -> length(encArg(z0)) encode_zeros -> zeros encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_nil -> nil encode_take(z0, z1) -> take(encArg(z0), encArg(z1)) encode_uTake1(z0) -> uTake1(encArg(z0)) encode_uTake2(z0, z1, z2, z3) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encode_uLength(z0, z1) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_isNatIList(z0)) -> c7(ISNATILIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNatList(z0)) -> c8(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_ACTIVE(z0) -> c17(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_AND(z0, z1) -> c18(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_MARK(z0) -> c20(MARK(encArg(z0)), ENCARG(z0)) ENCODE_ISNATILIST(z0) -> c21(ISNATILIST(encArg(z0)), ENCARG(z0)) ENCODE_ISNATLIST(z0) -> c22(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCODE_ISNAT(z0) -> c23(ISNAT(encArg(z0)), ENCARG(z0)) ENCODE_S(z0) -> c25(S(encArg(z0)), ENCARG(z0)) ENCODE_LENGTH(z0) -> c26(LENGTH(encArg(z0)), ENCARG(z0)) ENCODE_CONS(z0, z1) -> c28(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_TAKE(z0, z1) -> c30(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_UTAKE1(z0) -> c31(UTAKE1(encArg(z0)), ENCARG(z0)) ENCODE_UTAKE2(z0, z1, z2, z3) -> c32(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCODE_ULENGTH(z0, z1) -> c33(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2, encArg_1, encode_active_1, encode_and_2, encode_tt, encode_mark_1, encode_isNatIList_1, encode_isNatList_1, encode_isNat_1, encode_0, encode_s_1, encode_length_1, encode_zeros, encode_cons_2, encode_nil, encode_take_2, encode_uTake1_1, encode_uTake2_4, encode_uLength_2 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2 Compound Symbols: c4_2, c5_2, c6_3, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c17_2, c18_3, c20_2, c21_2, c22_2, c23_2, c25_2, c26_2, c28_3, c30_3, c31_2, c32_5, c33_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61 ---------------------------------------- (33) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (34) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) encode_active(z0) -> active(encArg(z0)) encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_tt -> tt encode_mark(z0) -> mark(encArg(z0)) encode_isNatIList(z0) -> isNatIList(encArg(z0)) encode_isNatList(z0) -> isNatList(encArg(z0)) encode_isNat(z0) -> isNat(encArg(z0)) encode_0 -> 0 encode_s(z0) -> s(encArg(z0)) encode_length(z0) -> length(encArg(z0)) encode_zeros -> zeros encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_nil -> nil encode_take(z0, z1) -> take(encArg(z0), encArg(z1)) encode_uTake1(z0) -> uTake1(encArg(z0)) encode_uTake2(z0, z1, z2, z3) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encode_uLength(z0, z1) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_isNatIList(z0)) -> c7(ISNATILIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNatList(z0)) -> c8(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_ACTIVE(z0) -> c(ENCARG(z0)) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_AND(z0, z1) -> c(ENCARG(z0)) ENCODE_AND(z0, z1) -> c(ENCARG(z1)) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_MARK(z0) -> c(ENCARG(z0)) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ENCARG(z0)) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ENCARG(z0)) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_ISNAT(z0) -> c(ENCARG(z0)) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_S(z0) -> c(ENCARG(z0)) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_LENGTH(z0) -> c(ENCARG(z0)) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(ENCARG(z0)) ENCODE_CONS(z0, z1) -> c(ENCARG(z1)) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(ENCARG(z0)) ENCODE_TAKE(z0, z1) -> c(ENCARG(z1)) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE1(z0) -> c(ENCARG(z0)) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(ENCARG(z0)) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(ENCARG(z1)) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(ENCARG(z2)) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(ENCARG(z3)) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCODE_ULENGTH(z0, z1) -> c(ENCARG(z0)) ENCODE_ULENGTH(z0, z1) -> c(ENCARG(z1)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2, encArg_1, encode_active_1, encode_and_2, encode_tt, encode_mark_1, encode_isNatIList_1, encode_isNatList_1, encode_isNat_1, encode_0, encode_s_1, encode_length_1, encode_zeros, encode_cons_2, encode_nil, encode_take_2, encode_uTake1_1, encode_uTake2_4, encode_uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c4_2, c5_2, c6_3, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1 ---------------------------------------- (35) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 20 leading nodes: ENCODE_ACTIVE(z0) -> c(ENCARG(z0)) ENCODE_AND(z0, z1) -> c(ENCARG(z0)) ENCODE_AND(z0, z1) -> c(ENCARG(z1)) ENCODE_MARK(z0) -> c(ENCARG(z0)) ENCODE_ISNATILIST(z0) -> c(ENCARG(z0)) ENCODE_ISNATLIST(z0) -> c(ENCARG(z0)) ENCODE_ISNAT(z0) -> c(ENCARG(z0)) ENCODE_S(z0) -> c(ENCARG(z0)) ENCODE_LENGTH(z0) -> c(ENCARG(z0)) ENCODE_CONS(z0, z1) -> c(ENCARG(z0)) ENCODE_CONS(z0, z1) -> c(ENCARG(z1)) ENCODE_TAKE(z0, z1) -> c(ENCARG(z0)) ENCODE_TAKE(z0, z1) -> c(ENCARG(z1)) ENCODE_UTAKE1(z0) -> c(ENCARG(z0)) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(ENCARG(z0)) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(ENCARG(z1)) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(ENCARG(z2)) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(ENCARG(z3)) ENCODE_ULENGTH(z0, z1) -> c(ENCARG(z0)) ENCODE_ULENGTH(z0, z1) -> c(ENCARG(z1)) ---------------------------------------- (36) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) encode_active(z0) -> active(encArg(z0)) encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_tt -> tt encode_mark(z0) -> mark(encArg(z0)) encode_isNatIList(z0) -> isNatIList(encArg(z0)) encode_isNatList(z0) -> isNatList(encArg(z0)) encode_isNat(z0) -> isNat(encArg(z0)) encode_0 -> 0 encode_s(z0) -> s(encArg(z0)) encode_length(z0) -> length(encArg(z0)) encode_zeros -> zeros encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_nil -> nil encode_take(z0, z1) -> take(encArg(z0), encArg(z1)) encode_uTake1(z0) -> uTake1(encArg(z0)) encode_uTake2(z0, z1, z2, z3) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encode_uLength(z0, z1) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_isNatIList(z0)) -> c7(ISNATILIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNatList(z0)) -> c8(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2, encArg_1, encode_active_1, encode_and_2, encode_tt, encode_mark_1, encode_isNatIList_1, encode_isNatList_1, encode_isNat_1, encode_0, encode_s_1, encode_length_1, encode_zeros, encode_cons_2, encode_nil, encode_take_2, encode_uTake1_1, encode_uTake2_4, encode_uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c4_2, c5_2, c6_3, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1 ---------------------------------------- (37) CdtUsableRulesProof (BOTH BOUNDS(ID, ID)) The following rules are not usable and were removed: encode_active(z0) -> active(encArg(z0)) encode_and(z0, z1) -> and(encArg(z0), encArg(z1)) encode_tt -> tt encode_mark(z0) -> mark(encArg(z0)) encode_isNatIList(z0) -> isNatIList(encArg(z0)) encode_isNatList(z0) -> isNatList(encArg(z0)) encode_isNat(z0) -> isNat(encArg(z0)) encode_0 -> 0 encode_s(z0) -> s(encArg(z0)) encode_length(z0) -> length(encArg(z0)) encode_zeros -> zeros encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_nil -> nil encode_take(z0, z1) -> take(encArg(z0), encArg(z1)) encode_uTake1(z0) -> uTake1(encArg(z0)) encode_uTake2(z0, z1, z2, z3) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encode_uLength(z0, z1) -> uLength(encArg(z0), encArg(z1)) ---------------------------------------- (38) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_isNatIList(z0)) -> c7(ISNATILIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNatList(z0)) -> c8(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c4_2, c5_2, c6_3, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1 ---------------------------------------- (39) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(z0)) -> c4(ACTIVE(encArg(z0)), ENCARG(z0)) by ENCARG(cons_active(tt)) -> c4(ACTIVE(tt), ENCARG(tt)) ENCARG(cons_active(0)) -> c4(ACTIVE(0), ENCARG(0)) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros), ENCARG(zeros)) ENCARG(cons_active(nil)) -> c4(ACTIVE(nil), ENCARG(nil)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ---------------------------------------- (40) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_isNatIList(z0)) -> c7(ISNATILIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNatList(z0)) -> c8(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(tt)) -> c4(ACTIVE(tt), ENCARG(tt)) ENCARG(cons_active(0)) -> c4(ACTIVE(0), ENCARG(0)) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros), ENCARG(zeros)) ENCARG(cons_active(nil)) -> c4(ACTIVE(nil), ENCARG(nil)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c5_2, c6_3, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2 ---------------------------------------- (41) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_active(nil)) -> c4(ACTIVE(nil), ENCARG(nil)) ENCARG(cons_active(tt)) -> c4(ACTIVE(tt), ENCARG(tt)) ENCARG(cons_active(0)) -> c4(ACTIVE(0), ENCARG(0)) ---------------------------------------- (42) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_isNatIList(z0)) -> c7(ISNATILIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNatList(z0)) -> c8(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros), ENCARG(zeros)) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c5_2, c6_3, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2 ---------------------------------------- (43) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (44) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_isNatIList(z0)) -> c7(ISNATILIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNatList(z0)) -> c8(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c5_2, c6_3, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1 ---------------------------------------- (45) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_mark(z0)) -> c5(MARK(encArg(z0)), ENCARG(z0)) by ENCARG(cons_mark(tt)) -> c5(MARK(tt), ENCARG(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0), ENCARG(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros), ENCARG(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil), ENCARG(nil)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ---------------------------------------- (46) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_isNatIList(z0)) -> c7(ISNATILIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNatList(z0)) -> c8(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(tt)) -> c5(MARK(tt), ENCARG(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0), ENCARG(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros), ENCARG(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil), ENCARG(nil)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c6_3, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2 ---------------------------------------- (47) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (48) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_isNatIList(z0)) -> c7(ISNATILIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNatList(z0)) -> c8(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c6_3, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1 ---------------------------------------- (49) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_and(z0, z1)) -> c6(AND(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0), ENCARG(tt)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0), ENCARG(zeros)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(tt), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(zeros), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ---------------------------------------- (50) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_isNatIList(z0)) -> c7(ISNATILIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNatList(z0)) -> c8(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0), ENCARG(tt)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0), ENCARG(zeros)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(tt), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(zeros), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3 ---------------------------------------- (51) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing tuple parts ---------------------------------------- (52) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_isNatIList(z0)) -> c7(ISNATILIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNatList(z0)) -> c8(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2 ---------------------------------------- (53) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_isNatIList(z0)) -> c7(ISNATILIST(encArg(z0)), ENCARG(z0)) by ENCARG(cons_isNatIList(tt)) -> c7(ISNATILIST(tt), ENCARG(tt)) ENCARG(cons_isNatIList(0)) -> c7(ISNATILIST(0), ENCARG(0)) ENCARG(cons_isNatIList(zeros)) -> c7(ISNATILIST(zeros), ENCARG(zeros)) ENCARG(cons_isNatIList(nil)) -> c7(ISNATILIST(nil), ENCARG(nil)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ---------------------------------------- (54) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_isNatList(z0)) -> c8(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(tt)) -> c7(ISNATILIST(tt), ENCARG(tt)) ENCARG(cons_isNatIList(0)) -> c7(ISNATILIST(0), ENCARG(0)) ENCARG(cons_isNatIList(zeros)) -> c7(ISNATILIST(zeros), ENCARG(zeros)) ENCARG(cons_isNatIList(nil)) -> c7(ISNATILIST(nil), ENCARG(nil)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c8_2, c9_2, c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2 ---------------------------------------- (55) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(cons_isNatIList(nil)) -> c7(ISNATILIST(nil), ENCARG(nil)) ENCARG(cons_isNatIList(zeros)) -> c7(ISNATILIST(zeros), ENCARG(zeros)) ENCARG(cons_isNatIList(0)) -> c7(ISNATILIST(0), ENCARG(0)) ENCARG(cons_isNatIList(tt)) -> c7(ISNATILIST(tt), ENCARG(tt)) ---------------------------------------- (56) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_isNatList(z0)) -> c8(ISNATLIST(encArg(z0)), ENCARG(z0)) ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c8_2, c9_2, c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2 ---------------------------------------- (57) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_isNatList(z0)) -> c8(ISNATLIST(encArg(z0)), ENCARG(z0)) by ENCARG(cons_isNatList(tt)) -> c8(ISNATLIST(tt), ENCARG(tt)) ENCARG(cons_isNatList(0)) -> c8(ISNATLIST(0), ENCARG(0)) ENCARG(cons_isNatList(zeros)) -> c8(ISNATLIST(zeros), ENCARG(zeros)) ENCARG(cons_isNatList(nil)) -> c8(ISNATLIST(nil), ENCARG(nil)) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ---------------------------------------- (58) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(tt)) -> c8(ISNATLIST(tt), ENCARG(tt)) ENCARG(cons_isNatList(0)) -> c8(ISNATLIST(0), ENCARG(0)) ENCARG(cons_isNatList(zeros)) -> c8(ISNATLIST(zeros), ENCARG(zeros)) ENCARG(cons_isNatList(nil)) -> c8(ISNATLIST(nil), ENCARG(nil)) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c9_2, c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2 ---------------------------------------- (59) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(cons_isNatList(nil)) -> c8(ISNATLIST(nil), ENCARG(nil)) ENCARG(cons_isNatList(tt)) -> c8(ISNATLIST(tt), ENCARG(tt)) ENCARG(cons_isNatList(0)) -> c8(ISNATLIST(0), ENCARG(0)) ENCARG(cons_isNatList(zeros)) -> c8(ISNATLIST(zeros), ENCARG(zeros)) ---------------------------------------- (60) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c9_2, c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2 ---------------------------------------- (61) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_isNat(z0)) -> c9(ISNAT(encArg(z0)), ENCARG(z0)) by ENCARG(cons_isNat(tt)) -> c9(ISNAT(tt), ENCARG(tt)) ENCARG(cons_isNat(0)) -> c9(ISNAT(0), ENCARG(0)) ENCARG(cons_isNat(zeros)) -> c9(ISNAT(zeros), ENCARG(zeros)) ENCARG(cons_isNat(nil)) -> c9(ISNAT(nil), ENCARG(nil)) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ---------------------------------------- (62) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(tt)) -> c9(ISNAT(tt), ENCARG(tt)) ENCARG(cons_isNat(0)) -> c9(ISNAT(0), ENCARG(0)) ENCARG(cons_isNat(zeros)) -> c9(ISNAT(zeros), ENCARG(zeros)) ENCARG(cons_isNat(nil)) -> c9(ISNAT(nil), ENCARG(nil)) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2 ---------------------------------------- (63) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(cons_isNat(0)) -> c9(ISNAT(0), ENCARG(0)) ENCARG(cons_isNat(zeros)) -> c9(ISNAT(zeros), ENCARG(zeros)) ENCARG(cons_isNat(nil)) -> c9(ISNAT(nil), ENCARG(nil)) ENCARG(cons_isNat(tt)) -> c9(ISNAT(tt), ENCARG(tt)) ---------------------------------------- (64) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c10_2, c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2 ---------------------------------------- (65) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_s(z0)) -> c10(S(encArg(z0)), ENCARG(z0)) by ENCARG(cons_s(tt)) -> c10(S(tt), ENCARG(tt)) ENCARG(cons_s(0)) -> c10(S(0), ENCARG(0)) ENCARG(cons_s(zeros)) -> c10(S(zeros), ENCARG(zeros)) ENCARG(cons_s(nil)) -> c10(S(nil), ENCARG(nil)) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ---------------------------------------- (66) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(tt)) -> c10(S(tt), ENCARG(tt)) ENCARG(cons_s(0)) -> c10(S(0), ENCARG(0)) ENCARG(cons_s(zeros)) -> c10(S(zeros), ENCARG(zeros)) ENCARG(cons_s(nil)) -> c10(S(nil), ENCARG(nil)) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2 ---------------------------------------- (67) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(cons_s(nil)) -> c10(S(nil), ENCARG(nil)) ENCARG(cons_s(tt)) -> c10(S(tt), ENCARG(tt)) ENCARG(cons_s(0)) -> c10(S(0), ENCARG(0)) ENCARG(cons_s(zeros)) -> c10(S(zeros), ENCARG(zeros)) ---------------------------------------- (68) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c11_2, c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2 ---------------------------------------- (69) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_length(z0)) -> c11(LENGTH(encArg(z0)), ENCARG(z0)) by ENCARG(cons_length(tt)) -> c11(LENGTH(tt), ENCARG(tt)) ENCARG(cons_length(0)) -> c11(LENGTH(0), ENCARG(0)) ENCARG(cons_length(zeros)) -> c11(LENGTH(zeros), ENCARG(zeros)) ENCARG(cons_length(nil)) -> c11(LENGTH(nil), ENCARG(nil)) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ---------------------------------------- (70) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(tt)) -> c11(LENGTH(tt), ENCARG(tt)) ENCARG(cons_length(0)) -> c11(LENGTH(0), ENCARG(0)) ENCARG(cons_length(zeros)) -> c11(LENGTH(zeros), ENCARG(zeros)) ENCARG(cons_length(nil)) -> c11(LENGTH(nil), ENCARG(nil)) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2 ---------------------------------------- (71) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(cons_length(tt)) -> c11(LENGTH(tt), ENCARG(tt)) ENCARG(cons_length(0)) -> c11(LENGTH(0), ENCARG(0)) ENCARG(cons_length(zeros)) -> c11(LENGTH(zeros), ENCARG(zeros)) ENCARG(cons_length(nil)) -> c11(LENGTH(nil), ENCARG(nil)) ---------------------------------------- (72) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c12_3, c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2 ---------------------------------------- (73) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_cons(z0, z1)) -> c12(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0), ENCARG(tt)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0), ENCARG(zeros)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(tt), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(zeros), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ---------------------------------------- (74) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0), ENCARG(tt)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0), ENCARG(zeros)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(tt), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(zeros), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3 ---------------------------------------- (75) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing tuple parts ---------------------------------------- (76) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c13_3, c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2 ---------------------------------------- (77) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_take(z0, z1)) -> c13(TAKE(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0), ENCARG(tt)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0), ENCARG(zeros)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(tt), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(zeros), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ---------------------------------------- (78) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0), ENCARG(tt)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0), ENCARG(zeros)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(tt), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(zeros), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3 ---------------------------------------- (79) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing tuple parts ---------------------------------------- (80) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c14_2, c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2 ---------------------------------------- (81) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_uTake1(z0)) -> c14(UTAKE1(encArg(z0)), ENCARG(z0)) by ENCARG(cons_uTake1(tt)) -> c14(UTAKE1(tt), ENCARG(tt)) ENCARG(cons_uTake1(0)) -> c14(UTAKE1(0), ENCARG(0)) ENCARG(cons_uTake1(zeros)) -> c14(UTAKE1(zeros), ENCARG(zeros)) ENCARG(cons_uTake1(nil)) -> c14(UTAKE1(nil), ENCARG(nil)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ---------------------------------------- (82) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(tt)) -> c14(UTAKE1(tt), ENCARG(tt)) ENCARG(cons_uTake1(0)) -> c14(UTAKE1(0), ENCARG(0)) ENCARG(cons_uTake1(zeros)) -> c14(UTAKE1(zeros), ENCARG(zeros)) ENCARG(cons_uTake1(nil)) -> c14(UTAKE1(nil), ENCARG(nil)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2 ---------------------------------------- (83) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(cons_uTake1(tt)) -> c14(UTAKE1(tt), ENCARG(tt)) ENCARG(cons_uTake1(nil)) -> c14(UTAKE1(nil), ENCARG(nil)) ENCARG(cons_uTake1(0)) -> c14(UTAKE1(0), ENCARG(0)) ENCARG(cons_uTake1(zeros)) -> c14(UTAKE1(zeros), ENCARG(zeros)) ---------------------------------------- (84) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c15_5, c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2 ---------------------------------------- (85) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_uTake2(z0, z1, z2, z3)) -> c15(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), ENCARG(z0), ENCARG(z1), ENCARG(z2), ENCARG(z3)) by ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(tt)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(0)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(zeros)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(nil)) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(tt), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(0), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(zeros), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(nil), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(tt), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(zeros), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(nil), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(tt), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(0), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(zeros), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(nil), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ---------------------------------------- (86) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(tt)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(0)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(zeros)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(nil)) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(tt), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(0), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(zeros), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(nil), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(tt), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(zeros), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(nil), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(tt), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(0), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(zeros), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(nil), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5 ---------------------------------------- (87) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 16 trailing tuple parts ---------------------------------------- (88) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2 Compound Symbols: c16_3, c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4 ---------------------------------------- (89) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_uLength(z0, z1)) -> c16(ULENGTH(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0), ENCARG(tt)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0), ENCARG(zeros)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(tt), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(zeros), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ---------------------------------------- (90) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0), ENCARG(tt)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0), ENCARG(zeros)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(tt), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(zeros), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3 ---------------------------------------- (91) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 8 trailing tuple parts ---------------------------------------- (92) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c51_4, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2 ---------------------------------------- (93) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(and(z0, z1)) -> c51(ACTIVE(and(mark(z0), mark(z1))), AND(mark(z0), mark(z1)), MARK(z0), MARK(z1)) by MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) ---------------------------------------- (94) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c57_3, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4 ---------------------------------------- (95) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(s(z0)) -> c57(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) by MARK(s(z0)) -> c57(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) ---------------------------------------- (96) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(z0)) -> c57(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(z0)) -> c57(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3 ---------------------------------------- (97) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (98) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c58_3, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2 ---------------------------------------- (99) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(length(z0)) -> c58(ACTIVE(length(mark(z0))), LENGTH(mark(z0)), MARK(z0)) by MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) ---------------------------------------- (100) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c60_3, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3 ---------------------------------------- (101) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(cons(z0, z1)) -> c60(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) by MARK(cons(z0, z1)) -> c60(ACTIVE(cons(z0, z1)), CONS(mark(z0), z1), MARK(z0)) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) ---------------------------------------- (102) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(z0, z1)), CONS(mark(z0), z1), MARK(z0)) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(z0, z1)) -> c60(ACTIVE(cons(z0, z1)), CONS(mark(z0), z1), MARK(z0)) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1 ---------------------------------------- (103) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (104) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c62_4, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2 ---------------------------------------- (105) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(take(z0, z1)) -> c62(ACTIVE(take(mark(z0), mark(z1))), TAKE(mark(z0), mark(z1)), MARK(z0), MARK(z1)) by MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) ---------------------------------------- (106) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c63_3, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4 ---------------------------------------- (107) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(mark(z0))), UTAKE1(mark(z0)), MARK(z0)) by MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) ---------------------------------------- (108) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c64_3, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3 ---------------------------------------- (109) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(mark(z0), z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) by MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) ---------------------------------------- (110) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c65_3, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1 ---------------------------------------- (111) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(mark(z0), z1)), ULENGTH(mark(z0), z1), MARK(z0)) by MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) ---------------------------------------- (112) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1, c65_3, c65_1 ---------------------------------------- (113) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) by ENCODE_ACTIVE(tt) -> c(ACTIVE(tt)) ENCODE_ACTIVE(0) -> c(ACTIVE(0)) ENCODE_ACTIVE(zeros) -> c(ACTIVE(zeros)) ENCODE_ACTIVE(nil) -> c(ACTIVE(nil)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_isNatIList(z0)) -> c(ACTIVE(isNatIList(encArg(z0)))) ENCODE_ACTIVE(cons_isNatList(z0)) -> c(ACTIVE(isNatList(encArg(z0)))) ENCODE_ACTIVE(cons_isNat(z0)) -> c(ACTIVE(isNat(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_uTake1(z0)) -> c(ACTIVE(uTake1(encArg(z0)))) ENCODE_ACTIVE(cons_uTake2(z0, z1, z2, z3)) -> c(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ACTIVE(cons_uLength(z0, z1)) -> c(ACTIVE(uLength(encArg(z0), encArg(z1)))) ---------------------------------------- (114) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) ENCODE_ACTIVE(tt) -> c(ACTIVE(tt)) ENCODE_ACTIVE(0) -> c(ACTIVE(0)) ENCODE_ACTIVE(zeros) -> c(ACTIVE(zeros)) ENCODE_ACTIVE(nil) -> c(ACTIVE(nil)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_isNatIList(z0)) -> c(ACTIVE(isNatIList(encArg(z0)))) ENCODE_ACTIVE(cons_isNatList(z0)) -> c(ACTIVE(isNatList(encArg(z0)))) ENCODE_ACTIVE(cons_isNat(z0)) -> c(ACTIVE(isNat(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_uTake1(z0)) -> c(ACTIVE(uTake1(encArg(z0)))) ENCODE_ACTIVE(cons_uTake2(z0, z1, z2, z3)) -> c(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ACTIVE(cons_uLength(z0, z1)) -> c(ACTIVE(uLength(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1, ENCODE_ACTIVE_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1, c65_3, c65_1 ---------------------------------------- (115) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 1 leading nodes: ENCODE_ACTIVE(zeros) -> c(ACTIVE(zeros)) Removed 3 trailing nodes: ENCODE_ACTIVE(nil) -> c(ACTIVE(nil)) ENCODE_ACTIVE(tt) -> c(ACTIVE(tt)) ENCODE_ACTIVE(0) -> c(ACTIVE(0)) ---------------------------------------- (116) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_isNatIList(z0)) -> c(ACTIVE(isNatIList(encArg(z0)))) ENCODE_ACTIVE(cons_isNatList(z0)) -> c(ACTIVE(isNatList(encArg(z0)))) ENCODE_ACTIVE(cons_isNat(z0)) -> c(ACTIVE(isNat(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_uTake1(z0)) -> c(ACTIVE(uTake1(encArg(z0)))) ENCODE_ACTIVE(cons_uTake2(z0, z1, z2, z3)) -> c(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ACTIVE(cons_uLength(z0, z1)) -> c(ACTIVE(uLength(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1, ENCODE_ACTIVE_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1, c65_3, c65_1 ---------------------------------------- (117) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_AND(z0, z1) -> c(AND(encArg(z0), encArg(z1))) by ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_isNatIList(z0)) -> c(AND(encArg(x0), isNatIList(encArg(z0)))) ENCODE_AND(x0, cons_isNatList(z0)) -> c(AND(encArg(x0), isNatList(encArg(z0)))) ENCODE_AND(x0, cons_isNat(z0)) -> c(AND(encArg(x0), isNat(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_uTake1(z0)) -> c(AND(encArg(x0), uTake1(encArg(z0)))) ENCODE_AND(x0, cons_uTake2(z0, z1, z2, z3)) -> c(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_AND(x0, cons_uLength(z0, z1)) -> c(AND(encArg(x0), uLength(encArg(z0), encArg(z1)))) ENCODE_AND(tt, x1) -> c(AND(tt, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_isNatIList(z0), x1) -> c(AND(isNatIList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNatList(z0), x1) -> c(AND(isNatList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNat(z0), x1) -> c(AND(isNat(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_uTake1(z0), x1) -> c(AND(uTake1(encArg(z0)), encArg(x1))) ENCODE_AND(cons_uTake2(z0, z1, z2, z3), x1) -> c(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1))) ENCODE_AND(cons_uLength(z0, z1), x1) -> c(AND(uLength(encArg(z0), encArg(z1)), encArg(x1))) ---------------------------------------- (118) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_isNatIList(z0)) -> c(ACTIVE(isNatIList(encArg(z0)))) ENCODE_ACTIVE(cons_isNatList(z0)) -> c(ACTIVE(isNatList(encArg(z0)))) ENCODE_ACTIVE(cons_isNat(z0)) -> c(ACTIVE(isNat(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_uTake1(z0)) -> c(ACTIVE(uTake1(encArg(z0)))) ENCODE_ACTIVE(cons_uTake2(z0, z1, z2, z3)) -> c(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ACTIVE(cons_uLength(z0, z1)) -> c(ACTIVE(uLength(encArg(z0), encArg(z1)))) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_isNatIList(z0)) -> c(AND(encArg(x0), isNatIList(encArg(z0)))) ENCODE_AND(x0, cons_isNatList(z0)) -> c(AND(encArg(x0), isNatList(encArg(z0)))) ENCODE_AND(x0, cons_isNat(z0)) -> c(AND(encArg(x0), isNat(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_uTake1(z0)) -> c(AND(encArg(x0), uTake1(encArg(z0)))) ENCODE_AND(x0, cons_uTake2(z0, z1, z2, z3)) -> c(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_AND(x0, cons_uLength(z0, z1)) -> c(AND(encArg(x0), uLength(encArg(z0), encArg(z1)))) ENCODE_AND(tt, x1) -> c(AND(tt, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_isNatIList(z0), x1) -> c(AND(isNatIList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNatList(z0), x1) -> c(AND(isNatList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNat(z0), x1) -> c(AND(isNat(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_uTake1(z0), x1) -> c(AND(uTake1(encArg(z0)), encArg(x1))) ENCODE_AND(cons_uTake2(z0, z1, z2, z3), x1) -> c(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1))) ENCODE_AND(cons_uLength(z0, z1), x1) -> c(AND(uLength(encArg(z0), encArg(z1)), encArg(x1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1, c65_3, c65_1 ---------------------------------------- (119) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_MARK(z0) -> c(MARK(encArg(z0))) by ENCODE_MARK(tt) -> c(MARK(tt)) ENCODE_MARK(0) -> c(MARK(0)) ENCODE_MARK(zeros) -> c(MARK(zeros)) ENCODE_MARK(nil) -> c(MARK(nil)) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_isNatIList(z0)) -> c(MARK(isNatIList(encArg(z0)))) ENCODE_MARK(cons_isNatList(z0)) -> c(MARK(isNatList(encArg(z0)))) ENCODE_MARK(cons_isNat(z0)) -> c(MARK(isNat(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_uTake1(z0)) -> c(MARK(uTake1(encArg(z0)))) ENCODE_MARK(cons_uTake2(z0, z1, z2, z3)) -> c(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_MARK(cons_uLength(z0, z1)) -> c(MARK(uLength(encArg(z0), encArg(z1)))) ---------------------------------------- (120) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_isNatIList(z0)) -> c(ACTIVE(isNatIList(encArg(z0)))) ENCODE_ACTIVE(cons_isNatList(z0)) -> c(ACTIVE(isNatList(encArg(z0)))) ENCODE_ACTIVE(cons_isNat(z0)) -> c(ACTIVE(isNat(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_uTake1(z0)) -> c(ACTIVE(uTake1(encArg(z0)))) ENCODE_ACTIVE(cons_uTake2(z0, z1, z2, z3)) -> c(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ACTIVE(cons_uLength(z0, z1)) -> c(ACTIVE(uLength(encArg(z0), encArg(z1)))) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_isNatIList(z0)) -> c(AND(encArg(x0), isNatIList(encArg(z0)))) ENCODE_AND(x0, cons_isNatList(z0)) -> c(AND(encArg(x0), isNatList(encArg(z0)))) ENCODE_AND(x0, cons_isNat(z0)) -> c(AND(encArg(x0), isNat(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_uTake1(z0)) -> c(AND(encArg(x0), uTake1(encArg(z0)))) ENCODE_AND(x0, cons_uTake2(z0, z1, z2, z3)) -> c(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_AND(x0, cons_uLength(z0, z1)) -> c(AND(encArg(x0), uLength(encArg(z0), encArg(z1)))) ENCODE_AND(tt, x1) -> c(AND(tt, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_isNatIList(z0), x1) -> c(AND(isNatIList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNatList(z0), x1) -> c(AND(isNatList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNat(z0), x1) -> c(AND(isNat(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_uTake1(z0), x1) -> c(AND(uTake1(encArg(z0)), encArg(x1))) ENCODE_AND(cons_uTake2(z0, z1, z2, z3), x1) -> c(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1))) ENCODE_AND(cons_uLength(z0, z1), x1) -> c(AND(uLength(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MARK(tt) -> c(MARK(tt)) ENCODE_MARK(0) -> c(MARK(0)) ENCODE_MARK(zeros) -> c(MARK(zeros)) ENCODE_MARK(nil) -> c(MARK(nil)) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_isNatIList(z0)) -> c(MARK(isNatIList(encArg(z0)))) ENCODE_MARK(cons_isNatList(z0)) -> c(MARK(isNatList(encArg(z0)))) ENCODE_MARK(cons_isNat(z0)) -> c(MARK(isNat(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_uTake1(z0)) -> c(MARK(uTake1(encArg(z0)))) ENCODE_MARK(cons_uTake2(z0, z1, z2, z3)) -> c(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_MARK(cons_uLength(z0, z1)) -> c(MARK(uLength(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1, c65_3, c65_1 ---------------------------------------- (121) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 4 leading nodes: ENCODE_MARK(zeros) -> c(MARK(zeros)) ENCODE_MARK(tt) -> c(MARK(tt)) ENCODE_MARK(0) -> c(MARK(0)) ENCODE_MARK(nil) -> c(MARK(nil)) ---------------------------------------- (122) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_isNatIList(z0)) -> c(ACTIVE(isNatIList(encArg(z0)))) ENCODE_ACTIVE(cons_isNatList(z0)) -> c(ACTIVE(isNatList(encArg(z0)))) ENCODE_ACTIVE(cons_isNat(z0)) -> c(ACTIVE(isNat(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_uTake1(z0)) -> c(ACTIVE(uTake1(encArg(z0)))) ENCODE_ACTIVE(cons_uTake2(z0, z1, z2, z3)) -> c(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ACTIVE(cons_uLength(z0, z1)) -> c(ACTIVE(uLength(encArg(z0), encArg(z1)))) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_isNatIList(z0)) -> c(AND(encArg(x0), isNatIList(encArg(z0)))) ENCODE_AND(x0, cons_isNatList(z0)) -> c(AND(encArg(x0), isNatList(encArg(z0)))) ENCODE_AND(x0, cons_isNat(z0)) -> c(AND(encArg(x0), isNat(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_uTake1(z0)) -> c(AND(encArg(x0), uTake1(encArg(z0)))) ENCODE_AND(x0, cons_uTake2(z0, z1, z2, z3)) -> c(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_AND(x0, cons_uLength(z0, z1)) -> c(AND(encArg(x0), uLength(encArg(z0), encArg(z1)))) ENCODE_AND(tt, x1) -> c(AND(tt, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_isNatIList(z0), x1) -> c(AND(isNatIList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNatList(z0), x1) -> c(AND(isNatList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNat(z0), x1) -> c(AND(isNat(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_uTake1(z0), x1) -> c(AND(uTake1(encArg(z0)), encArg(x1))) ENCODE_AND(cons_uTake2(z0, z1, z2, z3), x1) -> c(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1))) ENCODE_AND(cons_uLength(z0, z1), x1) -> c(AND(uLength(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_isNatIList(z0)) -> c(MARK(isNatIList(encArg(z0)))) ENCODE_MARK(cons_isNatList(z0)) -> c(MARK(isNatList(encArg(z0)))) ENCODE_MARK(cons_isNat(z0)) -> c(MARK(isNat(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_uTake1(z0)) -> c(MARK(uTake1(encArg(z0)))) ENCODE_MARK(cons_uTake2(z0, z1, z2, z3)) -> c(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_MARK(cons_uLength(z0, z1)) -> c(MARK(uLength(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1, c65_3, c65_1 ---------------------------------------- (123) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_ISNATILIST(z0) -> c(ISNATILIST(encArg(z0))) by ENCODE_ISNATILIST(tt) -> c(ISNATILIST(tt)) ENCODE_ISNATILIST(0) -> c(ISNATILIST(0)) ENCODE_ISNATILIST(zeros) -> c(ISNATILIST(zeros)) ENCODE_ISNATILIST(nil) -> c(ISNATILIST(nil)) ENCODE_ISNATILIST(cons_active(z0)) -> c(ISNATILIST(active(encArg(z0)))) ENCODE_ISNATILIST(cons_mark(z0)) -> c(ISNATILIST(mark(encArg(z0)))) ENCODE_ISNATILIST(cons_and(z0, z1)) -> c(ISNATILIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_isNatIList(z0)) -> c(ISNATILIST(isNatIList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNatList(z0)) -> c(ISNATILIST(isNatList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNat(z0)) -> c(ISNATILIST(isNat(encArg(z0)))) ENCODE_ISNATILIST(cons_s(z0)) -> c(ISNATILIST(s(encArg(z0)))) ENCODE_ISNATILIST(cons_length(z0)) -> c(ISNATILIST(length(encArg(z0)))) ENCODE_ISNATILIST(cons_cons(z0, z1)) -> c(ISNATILIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_take(z0, z1)) -> c(ISNATILIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_uTake1(z0)) -> c(ISNATILIST(uTake1(encArg(z0)))) ENCODE_ISNATILIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATILIST(cons_uLength(z0, z1)) -> c(ISNATILIST(uLength(encArg(z0), encArg(z1)))) ---------------------------------------- (124) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_isNatIList(z0)) -> c(ACTIVE(isNatIList(encArg(z0)))) ENCODE_ACTIVE(cons_isNatList(z0)) -> c(ACTIVE(isNatList(encArg(z0)))) ENCODE_ACTIVE(cons_isNat(z0)) -> c(ACTIVE(isNat(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_uTake1(z0)) -> c(ACTIVE(uTake1(encArg(z0)))) ENCODE_ACTIVE(cons_uTake2(z0, z1, z2, z3)) -> c(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ACTIVE(cons_uLength(z0, z1)) -> c(ACTIVE(uLength(encArg(z0), encArg(z1)))) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_isNatIList(z0)) -> c(AND(encArg(x0), isNatIList(encArg(z0)))) ENCODE_AND(x0, cons_isNatList(z0)) -> c(AND(encArg(x0), isNatList(encArg(z0)))) ENCODE_AND(x0, cons_isNat(z0)) -> c(AND(encArg(x0), isNat(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_uTake1(z0)) -> c(AND(encArg(x0), uTake1(encArg(z0)))) ENCODE_AND(x0, cons_uTake2(z0, z1, z2, z3)) -> c(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_AND(x0, cons_uLength(z0, z1)) -> c(AND(encArg(x0), uLength(encArg(z0), encArg(z1)))) ENCODE_AND(tt, x1) -> c(AND(tt, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_isNatIList(z0), x1) -> c(AND(isNatIList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNatList(z0), x1) -> c(AND(isNatList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNat(z0), x1) -> c(AND(isNat(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_uTake1(z0), x1) -> c(AND(uTake1(encArg(z0)), encArg(x1))) ENCODE_AND(cons_uTake2(z0, z1, z2, z3), x1) -> c(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1))) ENCODE_AND(cons_uLength(z0, z1), x1) -> c(AND(uLength(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_isNatIList(z0)) -> c(MARK(isNatIList(encArg(z0)))) ENCODE_MARK(cons_isNatList(z0)) -> c(MARK(isNatList(encArg(z0)))) ENCODE_MARK(cons_isNat(z0)) -> c(MARK(isNat(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_uTake1(z0)) -> c(MARK(uTake1(encArg(z0)))) ENCODE_MARK(cons_uTake2(z0, z1, z2, z3)) -> c(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_MARK(cons_uLength(z0, z1)) -> c(MARK(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(tt) -> c(ISNATILIST(tt)) ENCODE_ISNATILIST(0) -> c(ISNATILIST(0)) ENCODE_ISNATILIST(zeros) -> c(ISNATILIST(zeros)) ENCODE_ISNATILIST(nil) -> c(ISNATILIST(nil)) ENCODE_ISNATILIST(cons_active(z0)) -> c(ISNATILIST(active(encArg(z0)))) ENCODE_ISNATILIST(cons_mark(z0)) -> c(ISNATILIST(mark(encArg(z0)))) ENCODE_ISNATILIST(cons_and(z0, z1)) -> c(ISNATILIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_isNatIList(z0)) -> c(ISNATILIST(isNatIList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNatList(z0)) -> c(ISNATILIST(isNatList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNat(z0)) -> c(ISNATILIST(isNat(encArg(z0)))) ENCODE_ISNATILIST(cons_s(z0)) -> c(ISNATILIST(s(encArg(z0)))) ENCODE_ISNATILIST(cons_length(z0)) -> c(ISNATILIST(length(encArg(z0)))) ENCODE_ISNATILIST(cons_cons(z0, z1)) -> c(ISNATILIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_take(z0, z1)) -> c(ISNATILIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_uTake1(z0)) -> c(ISNATILIST(uTake1(encArg(z0)))) ENCODE_ISNATILIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATILIST(cons_uLength(z0, z1)) -> c(ISNATILIST(uLength(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1, c65_3, c65_1 ---------------------------------------- (125) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCODE_ISNATILIST(nil) -> c(ISNATILIST(nil)) ENCODE_ISNATILIST(0) -> c(ISNATILIST(0)) ENCODE_ISNATILIST(tt) -> c(ISNATILIST(tt)) ENCODE_ISNATILIST(zeros) -> c(ISNATILIST(zeros)) ---------------------------------------- (126) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_isNatIList(z0)) -> c(ACTIVE(isNatIList(encArg(z0)))) ENCODE_ACTIVE(cons_isNatList(z0)) -> c(ACTIVE(isNatList(encArg(z0)))) ENCODE_ACTIVE(cons_isNat(z0)) -> c(ACTIVE(isNat(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_uTake1(z0)) -> c(ACTIVE(uTake1(encArg(z0)))) ENCODE_ACTIVE(cons_uTake2(z0, z1, z2, z3)) -> c(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ACTIVE(cons_uLength(z0, z1)) -> c(ACTIVE(uLength(encArg(z0), encArg(z1)))) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_isNatIList(z0)) -> c(AND(encArg(x0), isNatIList(encArg(z0)))) ENCODE_AND(x0, cons_isNatList(z0)) -> c(AND(encArg(x0), isNatList(encArg(z0)))) ENCODE_AND(x0, cons_isNat(z0)) -> c(AND(encArg(x0), isNat(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_uTake1(z0)) -> c(AND(encArg(x0), uTake1(encArg(z0)))) ENCODE_AND(x0, cons_uTake2(z0, z1, z2, z3)) -> c(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_AND(x0, cons_uLength(z0, z1)) -> c(AND(encArg(x0), uLength(encArg(z0), encArg(z1)))) ENCODE_AND(tt, x1) -> c(AND(tt, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_isNatIList(z0), x1) -> c(AND(isNatIList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNatList(z0), x1) -> c(AND(isNatList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNat(z0), x1) -> c(AND(isNat(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_uTake1(z0), x1) -> c(AND(uTake1(encArg(z0)), encArg(x1))) ENCODE_AND(cons_uTake2(z0, z1, z2, z3), x1) -> c(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1))) ENCODE_AND(cons_uLength(z0, z1), x1) -> c(AND(uLength(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_isNatIList(z0)) -> c(MARK(isNatIList(encArg(z0)))) ENCODE_MARK(cons_isNatList(z0)) -> c(MARK(isNatList(encArg(z0)))) ENCODE_MARK(cons_isNat(z0)) -> c(MARK(isNat(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_uTake1(z0)) -> c(MARK(uTake1(encArg(z0)))) ENCODE_MARK(cons_uTake2(z0, z1, z2, z3)) -> c(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_MARK(cons_uLength(z0, z1)) -> c(MARK(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_active(z0)) -> c(ISNATILIST(active(encArg(z0)))) ENCODE_ISNATILIST(cons_mark(z0)) -> c(ISNATILIST(mark(encArg(z0)))) ENCODE_ISNATILIST(cons_and(z0, z1)) -> c(ISNATILIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_isNatIList(z0)) -> c(ISNATILIST(isNatIList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNatList(z0)) -> c(ISNATILIST(isNatList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNat(z0)) -> c(ISNATILIST(isNat(encArg(z0)))) ENCODE_ISNATILIST(cons_s(z0)) -> c(ISNATILIST(s(encArg(z0)))) ENCODE_ISNATILIST(cons_length(z0)) -> c(ISNATILIST(length(encArg(z0)))) ENCODE_ISNATILIST(cons_cons(z0, z1)) -> c(ISNATILIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_take(z0, z1)) -> c(ISNATILIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_uTake1(z0)) -> c(ISNATILIST(uTake1(encArg(z0)))) ENCODE_ISNATILIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATILIST(cons_uLength(z0, z1)) -> c(ISNATILIST(uLength(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1, c65_3, c65_1 ---------------------------------------- (127) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_ISNATLIST(z0) -> c(ISNATLIST(encArg(z0))) by ENCODE_ISNATLIST(tt) -> c(ISNATLIST(tt)) ENCODE_ISNATLIST(0) -> c(ISNATLIST(0)) ENCODE_ISNATLIST(zeros) -> c(ISNATLIST(zeros)) ENCODE_ISNATLIST(nil) -> c(ISNATLIST(nil)) ENCODE_ISNATLIST(cons_active(z0)) -> c(ISNATLIST(active(encArg(z0)))) ENCODE_ISNATLIST(cons_mark(z0)) -> c(ISNATLIST(mark(encArg(z0)))) ENCODE_ISNATLIST(cons_and(z0, z1)) -> c(ISNATLIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_isNatIList(z0)) -> c(ISNATLIST(isNatIList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNatList(z0)) -> c(ISNATLIST(isNatList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNat(z0)) -> c(ISNATLIST(isNat(encArg(z0)))) ENCODE_ISNATLIST(cons_s(z0)) -> c(ISNATLIST(s(encArg(z0)))) ENCODE_ISNATLIST(cons_length(z0)) -> c(ISNATLIST(length(encArg(z0)))) ENCODE_ISNATLIST(cons_cons(z0, z1)) -> c(ISNATLIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_take(z0, z1)) -> c(ISNATLIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_uTake1(z0)) -> c(ISNATLIST(uTake1(encArg(z0)))) ENCODE_ISNATLIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATLIST(cons_uLength(z0, z1)) -> c(ISNATLIST(uLength(encArg(z0), encArg(z1)))) ---------------------------------------- (128) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_isNatIList(z0)) -> c(ACTIVE(isNatIList(encArg(z0)))) ENCODE_ACTIVE(cons_isNatList(z0)) -> c(ACTIVE(isNatList(encArg(z0)))) ENCODE_ACTIVE(cons_isNat(z0)) -> c(ACTIVE(isNat(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_uTake1(z0)) -> c(ACTIVE(uTake1(encArg(z0)))) ENCODE_ACTIVE(cons_uTake2(z0, z1, z2, z3)) -> c(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ACTIVE(cons_uLength(z0, z1)) -> c(ACTIVE(uLength(encArg(z0), encArg(z1)))) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_isNatIList(z0)) -> c(AND(encArg(x0), isNatIList(encArg(z0)))) ENCODE_AND(x0, cons_isNatList(z0)) -> c(AND(encArg(x0), isNatList(encArg(z0)))) ENCODE_AND(x0, cons_isNat(z0)) -> c(AND(encArg(x0), isNat(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_uTake1(z0)) -> c(AND(encArg(x0), uTake1(encArg(z0)))) ENCODE_AND(x0, cons_uTake2(z0, z1, z2, z3)) -> c(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_AND(x0, cons_uLength(z0, z1)) -> c(AND(encArg(x0), uLength(encArg(z0), encArg(z1)))) ENCODE_AND(tt, x1) -> c(AND(tt, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_isNatIList(z0), x1) -> c(AND(isNatIList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNatList(z0), x1) -> c(AND(isNatList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNat(z0), x1) -> c(AND(isNat(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_uTake1(z0), x1) -> c(AND(uTake1(encArg(z0)), encArg(x1))) ENCODE_AND(cons_uTake2(z0, z1, z2, z3), x1) -> c(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1))) ENCODE_AND(cons_uLength(z0, z1), x1) -> c(AND(uLength(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_isNatIList(z0)) -> c(MARK(isNatIList(encArg(z0)))) ENCODE_MARK(cons_isNatList(z0)) -> c(MARK(isNatList(encArg(z0)))) ENCODE_MARK(cons_isNat(z0)) -> c(MARK(isNat(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_uTake1(z0)) -> c(MARK(uTake1(encArg(z0)))) ENCODE_MARK(cons_uTake2(z0, z1, z2, z3)) -> c(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_MARK(cons_uLength(z0, z1)) -> c(MARK(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_active(z0)) -> c(ISNATILIST(active(encArg(z0)))) ENCODE_ISNATILIST(cons_mark(z0)) -> c(ISNATILIST(mark(encArg(z0)))) ENCODE_ISNATILIST(cons_and(z0, z1)) -> c(ISNATILIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_isNatIList(z0)) -> c(ISNATILIST(isNatIList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNatList(z0)) -> c(ISNATILIST(isNatList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNat(z0)) -> c(ISNATILIST(isNat(encArg(z0)))) ENCODE_ISNATILIST(cons_s(z0)) -> c(ISNATILIST(s(encArg(z0)))) ENCODE_ISNATILIST(cons_length(z0)) -> c(ISNATILIST(length(encArg(z0)))) ENCODE_ISNATILIST(cons_cons(z0, z1)) -> c(ISNATILIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_take(z0, z1)) -> c(ISNATILIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_uTake1(z0)) -> c(ISNATILIST(uTake1(encArg(z0)))) ENCODE_ISNATILIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATILIST(cons_uLength(z0, z1)) -> c(ISNATILIST(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(tt) -> c(ISNATLIST(tt)) ENCODE_ISNATLIST(0) -> c(ISNATLIST(0)) ENCODE_ISNATLIST(zeros) -> c(ISNATLIST(zeros)) ENCODE_ISNATLIST(nil) -> c(ISNATLIST(nil)) ENCODE_ISNATLIST(cons_active(z0)) -> c(ISNATLIST(active(encArg(z0)))) ENCODE_ISNATLIST(cons_mark(z0)) -> c(ISNATLIST(mark(encArg(z0)))) ENCODE_ISNATLIST(cons_and(z0, z1)) -> c(ISNATLIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_isNatIList(z0)) -> c(ISNATLIST(isNatIList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNatList(z0)) -> c(ISNATLIST(isNatList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNat(z0)) -> c(ISNATLIST(isNat(encArg(z0)))) ENCODE_ISNATLIST(cons_s(z0)) -> c(ISNATLIST(s(encArg(z0)))) ENCODE_ISNATLIST(cons_length(z0)) -> c(ISNATLIST(length(encArg(z0)))) ENCODE_ISNATLIST(cons_cons(z0, z1)) -> c(ISNATLIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_take(z0, z1)) -> c(ISNATLIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_uTake1(z0)) -> c(ISNATLIST(uTake1(encArg(z0)))) ENCODE_ISNATLIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATLIST(cons_uLength(z0, z1)) -> c(ISNATLIST(uLength(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1, c65_3, c65_1 ---------------------------------------- (129) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCODE_ISNATLIST(zeros) -> c(ISNATLIST(zeros)) ENCODE_ISNATLIST(nil) -> c(ISNATLIST(nil)) ENCODE_ISNATLIST(0) -> c(ISNATLIST(0)) ENCODE_ISNATLIST(tt) -> c(ISNATLIST(tt)) ---------------------------------------- (130) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_isNatIList(z0)) -> c(ACTIVE(isNatIList(encArg(z0)))) ENCODE_ACTIVE(cons_isNatList(z0)) -> c(ACTIVE(isNatList(encArg(z0)))) ENCODE_ACTIVE(cons_isNat(z0)) -> c(ACTIVE(isNat(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_uTake1(z0)) -> c(ACTIVE(uTake1(encArg(z0)))) ENCODE_ACTIVE(cons_uTake2(z0, z1, z2, z3)) -> c(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ACTIVE(cons_uLength(z0, z1)) -> c(ACTIVE(uLength(encArg(z0), encArg(z1)))) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_isNatIList(z0)) -> c(AND(encArg(x0), isNatIList(encArg(z0)))) ENCODE_AND(x0, cons_isNatList(z0)) -> c(AND(encArg(x0), isNatList(encArg(z0)))) ENCODE_AND(x0, cons_isNat(z0)) -> c(AND(encArg(x0), isNat(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_uTake1(z0)) -> c(AND(encArg(x0), uTake1(encArg(z0)))) ENCODE_AND(x0, cons_uTake2(z0, z1, z2, z3)) -> c(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_AND(x0, cons_uLength(z0, z1)) -> c(AND(encArg(x0), uLength(encArg(z0), encArg(z1)))) ENCODE_AND(tt, x1) -> c(AND(tt, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_isNatIList(z0), x1) -> c(AND(isNatIList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNatList(z0), x1) -> c(AND(isNatList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNat(z0), x1) -> c(AND(isNat(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_uTake1(z0), x1) -> c(AND(uTake1(encArg(z0)), encArg(x1))) ENCODE_AND(cons_uTake2(z0, z1, z2, z3), x1) -> c(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1))) ENCODE_AND(cons_uLength(z0, z1), x1) -> c(AND(uLength(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_isNatIList(z0)) -> c(MARK(isNatIList(encArg(z0)))) ENCODE_MARK(cons_isNatList(z0)) -> c(MARK(isNatList(encArg(z0)))) ENCODE_MARK(cons_isNat(z0)) -> c(MARK(isNat(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_uTake1(z0)) -> c(MARK(uTake1(encArg(z0)))) ENCODE_MARK(cons_uTake2(z0, z1, z2, z3)) -> c(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_MARK(cons_uLength(z0, z1)) -> c(MARK(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_active(z0)) -> c(ISNATILIST(active(encArg(z0)))) ENCODE_ISNATILIST(cons_mark(z0)) -> c(ISNATILIST(mark(encArg(z0)))) ENCODE_ISNATILIST(cons_and(z0, z1)) -> c(ISNATILIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_isNatIList(z0)) -> c(ISNATILIST(isNatIList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNatList(z0)) -> c(ISNATILIST(isNatList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNat(z0)) -> c(ISNATILIST(isNat(encArg(z0)))) ENCODE_ISNATILIST(cons_s(z0)) -> c(ISNATILIST(s(encArg(z0)))) ENCODE_ISNATILIST(cons_length(z0)) -> c(ISNATILIST(length(encArg(z0)))) ENCODE_ISNATILIST(cons_cons(z0, z1)) -> c(ISNATILIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_take(z0, z1)) -> c(ISNATILIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_uTake1(z0)) -> c(ISNATILIST(uTake1(encArg(z0)))) ENCODE_ISNATILIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATILIST(cons_uLength(z0, z1)) -> c(ISNATILIST(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_active(z0)) -> c(ISNATLIST(active(encArg(z0)))) ENCODE_ISNATLIST(cons_mark(z0)) -> c(ISNATLIST(mark(encArg(z0)))) ENCODE_ISNATLIST(cons_and(z0, z1)) -> c(ISNATLIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_isNatIList(z0)) -> c(ISNATLIST(isNatIList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNatList(z0)) -> c(ISNATLIST(isNatList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNat(z0)) -> c(ISNATLIST(isNat(encArg(z0)))) ENCODE_ISNATLIST(cons_s(z0)) -> c(ISNATLIST(s(encArg(z0)))) ENCODE_ISNATLIST(cons_length(z0)) -> c(ISNATLIST(length(encArg(z0)))) ENCODE_ISNATLIST(cons_cons(z0, z1)) -> c(ISNATLIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_take(z0, z1)) -> c(ISNATLIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_uTake1(z0)) -> c(ISNATLIST(uTake1(encArg(z0)))) ENCODE_ISNATLIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATLIST(cons_uLength(z0, z1)) -> c(ISNATLIST(uLength(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1, c65_3, c65_1 ---------------------------------------- (131) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_ISNAT(z0) -> c(ISNAT(encArg(z0))) by ENCODE_ISNAT(tt) -> c(ISNAT(tt)) ENCODE_ISNAT(0) -> c(ISNAT(0)) ENCODE_ISNAT(zeros) -> c(ISNAT(zeros)) ENCODE_ISNAT(nil) -> c(ISNAT(nil)) ENCODE_ISNAT(cons_active(z0)) -> c(ISNAT(active(encArg(z0)))) ENCODE_ISNAT(cons_mark(z0)) -> c(ISNAT(mark(encArg(z0)))) ENCODE_ISNAT(cons_and(z0, z1)) -> c(ISNAT(and(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_isNatIList(z0)) -> c(ISNAT(isNatIList(encArg(z0)))) ENCODE_ISNAT(cons_isNatList(z0)) -> c(ISNAT(isNatList(encArg(z0)))) ENCODE_ISNAT(cons_isNat(z0)) -> c(ISNAT(isNat(encArg(z0)))) ENCODE_ISNAT(cons_s(z0)) -> c(ISNAT(s(encArg(z0)))) ENCODE_ISNAT(cons_length(z0)) -> c(ISNAT(length(encArg(z0)))) ENCODE_ISNAT(cons_cons(z0, z1)) -> c(ISNAT(cons(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_take(z0, z1)) -> c(ISNAT(take(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_uTake1(z0)) -> c(ISNAT(uTake1(encArg(z0)))) ENCODE_ISNAT(cons_uTake2(z0, z1, z2, z3)) -> c(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNAT(cons_uLength(z0, z1)) -> c(ISNAT(uLength(encArg(z0), encArg(z1)))) ---------------------------------------- (132) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_isNatIList(z0)) -> c(ACTIVE(isNatIList(encArg(z0)))) ENCODE_ACTIVE(cons_isNatList(z0)) -> c(ACTIVE(isNatList(encArg(z0)))) ENCODE_ACTIVE(cons_isNat(z0)) -> c(ACTIVE(isNat(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_uTake1(z0)) -> c(ACTIVE(uTake1(encArg(z0)))) ENCODE_ACTIVE(cons_uTake2(z0, z1, z2, z3)) -> c(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ACTIVE(cons_uLength(z0, z1)) -> c(ACTIVE(uLength(encArg(z0), encArg(z1)))) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_isNatIList(z0)) -> c(AND(encArg(x0), isNatIList(encArg(z0)))) ENCODE_AND(x0, cons_isNatList(z0)) -> c(AND(encArg(x0), isNatList(encArg(z0)))) ENCODE_AND(x0, cons_isNat(z0)) -> c(AND(encArg(x0), isNat(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_uTake1(z0)) -> c(AND(encArg(x0), uTake1(encArg(z0)))) ENCODE_AND(x0, cons_uTake2(z0, z1, z2, z3)) -> c(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_AND(x0, cons_uLength(z0, z1)) -> c(AND(encArg(x0), uLength(encArg(z0), encArg(z1)))) ENCODE_AND(tt, x1) -> c(AND(tt, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_isNatIList(z0), x1) -> c(AND(isNatIList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNatList(z0), x1) -> c(AND(isNatList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNat(z0), x1) -> c(AND(isNat(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_uTake1(z0), x1) -> c(AND(uTake1(encArg(z0)), encArg(x1))) ENCODE_AND(cons_uTake2(z0, z1, z2, z3), x1) -> c(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1))) ENCODE_AND(cons_uLength(z0, z1), x1) -> c(AND(uLength(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_isNatIList(z0)) -> c(MARK(isNatIList(encArg(z0)))) ENCODE_MARK(cons_isNatList(z0)) -> c(MARK(isNatList(encArg(z0)))) ENCODE_MARK(cons_isNat(z0)) -> c(MARK(isNat(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_uTake1(z0)) -> c(MARK(uTake1(encArg(z0)))) ENCODE_MARK(cons_uTake2(z0, z1, z2, z3)) -> c(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_MARK(cons_uLength(z0, z1)) -> c(MARK(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_active(z0)) -> c(ISNATILIST(active(encArg(z0)))) ENCODE_ISNATILIST(cons_mark(z0)) -> c(ISNATILIST(mark(encArg(z0)))) ENCODE_ISNATILIST(cons_and(z0, z1)) -> c(ISNATILIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_isNatIList(z0)) -> c(ISNATILIST(isNatIList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNatList(z0)) -> c(ISNATILIST(isNatList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNat(z0)) -> c(ISNATILIST(isNat(encArg(z0)))) ENCODE_ISNATILIST(cons_s(z0)) -> c(ISNATILIST(s(encArg(z0)))) ENCODE_ISNATILIST(cons_length(z0)) -> c(ISNATILIST(length(encArg(z0)))) ENCODE_ISNATILIST(cons_cons(z0, z1)) -> c(ISNATILIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_take(z0, z1)) -> c(ISNATILIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_uTake1(z0)) -> c(ISNATILIST(uTake1(encArg(z0)))) ENCODE_ISNATILIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATILIST(cons_uLength(z0, z1)) -> c(ISNATILIST(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_active(z0)) -> c(ISNATLIST(active(encArg(z0)))) ENCODE_ISNATLIST(cons_mark(z0)) -> c(ISNATLIST(mark(encArg(z0)))) ENCODE_ISNATLIST(cons_and(z0, z1)) -> c(ISNATLIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_isNatIList(z0)) -> c(ISNATLIST(isNatIList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNatList(z0)) -> c(ISNATLIST(isNatList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNat(z0)) -> c(ISNATLIST(isNat(encArg(z0)))) ENCODE_ISNATLIST(cons_s(z0)) -> c(ISNATLIST(s(encArg(z0)))) ENCODE_ISNATLIST(cons_length(z0)) -> c(ISNATLIST(length(encArg(z0)))) ENCODE_ISNATLIST(cons_cons(z0, z1)) -> c(ISNATLIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_take(z0, z1)) -> c(ISNATLIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_uTake1(z0)) -> c(ISNATLIST(uTake1(encArg(z0)))) ENCODE_ISNATLIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATLIST(cons_uLength(z0, z1)) -> c(ISNATLIST(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNAT(tt) -> c(ISNAT(tt)) ENCODE_ISNAT(0) -> c(ISNAT(0)) ENCODE_ISNAT(zeros) -> c(ISNAT(zeros)) ENCODE_ISNAT(nil) -> c(ISNAT(nil)) ENCODE_ISNAT(cons_active(z0)) -> c(ISNAT(active(encArg(z0)))) ENCODE_ISNAT(cons_mark(z0)) -> c(ISNAT(mark(encArg(z0)))) ENCODE_ISNAT(cons_and(z0, z1)) -> c(ISNAT(and(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_isNatIList(z0)) -> c(ISNAT(isNatIList(encArg(z0)))) ENCODE_ISNAT(cons_isNatList(z0)) -> c(ISNAT(isNatList(encArg(z0)))) ENCODE_ISNAT(cons_isNat(z0)) -> c(ISNAT(isNat(encArg(z0)))) ENCODE_ISNAT(cons_s(z0)) -> c(ISNAT(s(encArg(z0)))) ENCODE_ISNAT(cons_length(z0)) -> c(ISNAT(length(encArg(z0)))) ENCODE_ISNAT(cons_cons(z0, z1)) -> c(ISNAT(cons(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_take(z0, z1)) -> c(ISNAT(take(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_uTake1(z0)) -> c(ISNAT(uTake1(encArg(z0)))) ENCODE_ISNAT(cons_uTake2(z0, z1, z2, z3)) -> c(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNAT(cons_uLength(z0, z1)) -> c(ISNAT(uLength(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1, c65_3, c65_1 ---------------------------------------- (133) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCODE_ISNAT(zeros) -> c(ISNAT(zeros)) ENCODE_ISNAT(0) -> c(ISNAT(0)) ENCODE_ISNAT(tt) -> c(ISNAT(tt)) ENCODE_ISNAT(nil) -> c(ISNAT(nil)) ---------------------------------------- (134) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_isNatIList(z0)) -> c(ACTIVE(isNatIList(encArg(z0)))) ENCODE_ACTIVE(cons_isNatList(z0)) -> c(ACTIVE(isNatList(encArg(z0)))) ENCODE_ACTIVE(cons_isNat(z0)) -> c(ACTIVE(isNat(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_uTake1(z0)) -> c(ACTIVE(uTake1(encArg(z0)))) ENCODE_ACTIVE(cons_uTake2(z0, z1, z2, z3)) -> c(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ACTIVE(cons_uLength(z0, z1)) -> c(ACTIVE(uLength(encArg(z0), encArg(z1)))) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_isNatIList(z0)) -> c(AND(encArg(x0), isNatIList(encArg(z0)))) ENCODE_AND(x0, cons_isNatList(z0)) -> c(AND(encArg(x0), isNatList(encArg(z0)))) ENCODE_AND(x0, cons_isNat(z0)) -> c(AND(encArg(x0), isNat(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_uTake1(z0)) -> c(AND(encArg(x0), uTake1(encArg(z0)))) ENCODE_AND(x0, cons_uTake2(z0, z1, z2, z3)) -> c(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_AND(x0, cons_uLength(z0, z1)) -> c(AND(encArg(x0), uLength(encArg(z0), encArg(z1)))) ENCODE_AND(tt, x1) -> c(AND(tt, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_isNatIList(z0), x1) -> c(AND(isNatIList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNatList(z0), x1) -> c(AND(isNatList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNat(z0), x1) -> c(AND(isNat(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_uTake1(z0), x1) -> c(AND(uTake1(encArg(z0)), encArg(x1))) ENCODE_AND(cons_uTake2(z0, z1, z2, z3), x1) -> c(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1))) ENCODE_AND(cons_uLength(z0, z1), x1) -> c(AND(uLength(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_isNatIList(z0)) -> c(MARK(isNatIList(encArg(z0)))) ENCODE_MARK(cons_isNatList(z0)) -> c(MARK(isNatList(encArg(z0)))) ENCODE_MARK(cons_isNat(z0)) -> c(MARK(isNat(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_uTake1(z0)) -> c(MARK(uTake1(encArg(z0)))) ENCODE_MARK(cons_uTake2(z0, z1, z2, z3)) -> c(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_MARK(cons_uLength(z0, z1)) -> c(MARK(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_active(z0)) -> c(ISNATILIST(active(encArg(z0)))) ENCODE_ISNATILIST(cons_mark(z0)) -> c(ISNATILIST(mark(encArg(z0)))) ENCODE_ISNATILIST(cons_and(z0, z1)) -> c(ISNATILIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_isNatIList(z0)) -> c(ISNATILIST(isNatIList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNatList(z0)) -> c(ISNATILIST(isNatList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNat(z0)) -> c(ISNATILIST(isNat(encArg(z0)))) ENCODE_ISNATILIST(cons_s(z0)) -> c(ISNATILIST(s(encArg(z0)))) ENCODE_ISNATILIST(cons_length(z0)) -> c(ISNATILIST(length(encArg(z0)))) ENCODE_ISNATILIST(cons_cons(z0, z1)) -> c(ISNATILIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_take(z0, z1)) -> c(ISNATILIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_uTake1(z0)) -> c(ISNATILIST(uTake1(encArg(z0)))) ENCODE_ISNATILIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATILIST(cons_uLength(z0, z1)) -> c(ISNATILIST(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_active(z0)) -> c(ISNATLIST(active(encArg(z0)))) ENCODE_ISNATLIST(cons_mark(z0)) -> c(ISNATLIST(mark(encArg(z0)))) ENCODE_ISNATLIST(cons_and(z0, z1)) -> c(ISNATLIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_isNatIList(z0)) -> c(ISNATLIST(isNatIList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNatList(z0)) -> c(ISNATLIST(isNatList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNat(z0)) -> c(ISNATLIST(isNat(encArg(z0)))) ENCODE_ISNATLIST(cons_s(z0)) -> c(ISNATLIST(s(encArg(z0)))) ENCODE_ISNATLIST(cons_length(z0)) -> c(ISNATLIST(length(encArg(z0)))) ENCODE_ISNATLIST(cons_cons(z0, z1)) -> c(ISNATLIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_take(z0, z1)) -> c(ISNATLIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_uTake1(z0)) -> c(ISNATLIST(uTake1(encArg(z0)))) ENCODE_ISNATLIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATLIST(cons_uLength(z0, z1)) -> c(ISNATLIST(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_active(z0)) -> c(ISNAT(active(encArg(z0)))) ENCODE_ISNAT(cons_mark(z0)) -> c(ISNAT(mark(encArg(z0)))) ENCODE_ISNAT(cons_and(z0, z1)) -> c(ISNAT(and(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_isNatIList(z0)) -> c(ISNAT(isNatIList(encArg(z0)))) ENCODE_ISNAT(cons_isNatList(z0)) -> c(ISNAT(isNatList(encArg(z0)))) ENCODE_ISNAT(cons_isNat(z0)) -> c(ISNAT(isNat(encArg(z0)))) ENCODE_ISNAT(cons_s(z0)) -> c(ISNAT(s(encArg(z0)))) ENCODE_ISNAT(cons_length(z0)) -> c(ISNAT(length(encArg(z0)))) ENCODE_ISNAT(cons_cons(z0, z1)) -> c(ISNAT(cons(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_take(z0, z1)) -> c(ISNAT(take(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_uTake1(z0)) -> c(ISNAT(uTake1(encArg(z0)))) ENCODE_ISNAT(cons_uTake2(z0, z1, z2, z3)) -> c(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNAT(cons_uLength(z0, z1)) -> c(ISNAT(uLength(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1, c65_3, c65_1 ---------------------------------------- (135) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_S(z0) -> c(S(encArg(z0))) by ENCODE_S(tt) -> c(S(tt)) ENCODE_S(0) -> c(S(0)) ENCODE_S(zeros) -> c(S(zeros)) ENCODE_S(nil) -> c(S(nil)) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_isNatIList(z0)) -> c(S(isNatIList(encArg(z0)))) ENCODE_S(cons_isNatList(z0)) -> c(S(isNatList(encArg(z0)))) ENCODE_S(cons_isNat(z0)) -> c(S(isNat(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_S(cons_uTake1(z0)) -> c(S(uTake1(encArg(z0)))) ENCODE_S(cons_uTake2(z0, z1, z2, z3)) -> c(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_S(cons_uLength(z0, z1)) -> c(S(uLength(encArg(z0), encArg(z1)))) ---------------------------------------- (136) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_isNatIList(z0)) -> c(ACTIVE(isNatIList(encArg(z0)))) ENCODE_ACTIVE(cons_isNatList(z0)) -> c(ACTIVE(isNatList(encArg(z0)))) ENCODE_ACTIVE(cons_isNat(z0)) -> c(ACTIVE(isNat(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_uTake1(z0)) -> c(ACTIVE(uTake1(encArg(z0)))) ENCODE_ACTIVE(cons_uTake2(z0, z1, z2, z3)) -> c(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ACTIVE(cons_uLength(z0, z1)) -> c(ACTIVE(uLength(encArg(z0), encArg(z1)))) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_isNatIList(z0)) -> c(AND(encArg(x0), isNatIList(encArg(z0)))) ENCODE_AND(x0, cons_isNatList(z0)) -> c(AND(encArg(x0), isNatList(encArg(z0)))) ENCODE_AND(x0, cons_isNat(z0)) -> c(AND(encArg(x0), isNat(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_uTake1(z0)) -> c(AND(encArg(x0), uTake1(encArg(z0)))) ENCODE_AND(x0, cons_uTake2(z0, z1, z2, z3)) -> c(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_AND(x0, cons_uLength(z0, z1)) -> c(AND(encArg(x0), uLength(encArg(z0), encArg(z1)))) ENCODE_AND(tt, x1) -> c(AND(tt, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_isNatIList(z0), x1) -> c(AND(isNatIList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNatList(z0), x1) -> c(AND(isNatList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNat(z0), x1) -> c(AND(isNat(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_uTake1(z0), x1) -> c(AND(uTake1(encArg(z0)), encArg(x1))) ENCODE_AND(cons_uTake2(z0, z1, z2, z3), x1) -> c(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1))) ENCODE_AND(cons_uLength(z0, z1), x1) -> c(AND(uLength(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_isNatIList(z0)) -> c(MARK(isNatIList(encArg(z0)))) ENCODE_MARK(cons_isNatList(z0)) -> c(MARK(isNatList(encArg(z0)))) ENCODE_MARK(cons_isNat(z0)) -> c(MARK(isNat(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_uTake1(z0)) -> c(MARK(uTake1(encArg(z0)))) ENCODE_MARK(cons_uTake2(z0, z1, z2, z3)) -> c(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_MARK(cons_uLength(z0, z1)) -> c(MARK(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_active(z0)) -> c(ISNATILIST(active(encArg(z0)))) ENCODE_ISNATILIST(cons_mark(z0)) -> c(ISNATILIST(mark(encArg(z0)))) ENCODE_ISNATILIST(cons_and(z0, z1)) -> c(ISNATILIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_isNatIList(z0)) -> c(ISNATILIST(isNatIList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNatList(z0)) -> c(ISNATILIST(isNatList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNat(z0)) -> c(ISNATILIST(isNat(encArg(z0)))) ENCODE_ISNATILIST(cons_s(z0)) -> c(ISNATILIST(s(encArg(z0)))) ENCODE_ISNATILIST(cons_length(z0)) -> c(ISNATILIST(length(encArg(z0)))) ENCODE_ISNATILIST(cons_cons(z0, z1)) -> c(ISNATILIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_take(z0, z1)) -> c(ISNATILIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_uTake1(z0)) -> c(ISNATILIST(uTake1(encArg(z0)))) ENCODE_ISNATILIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATILIST(cons_uLength(z0, z1)) -> c(ISNATILIST(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_active(z0)) -> c(ISNATLIST(active(encArg(z0)))) ENCODE_ISNATLIST(cons_mark(z0)) -> c(ISNATLIST(mark(encArg(z0)))) ENCODE_ISNATLIST(cons_and(z0, z1)) -> c(ISNATLIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_isNatIList(z0)) -> c(ISNATLIST(isNatIList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNatList(z0)) -> c(ISNATLIST(isNatList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNat(z0)) -> c(ISNATLIST(isNat(encArg(z0)))) ENCODE_ISNATLIST(cons_s(z0)) -> c(ISNATLIST(s(encArg(z0)))) ENCODE_ISNATLIST(cons_length(z0)) -> c(ISNATLIST(length(encArg(z0)))) ENCODE_ISNATLIST(cons_cons(z0, z1)) -> c(ISNATLIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_take(z0, z1)) -> c(ISNATLIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_uTake1(z0)) -> c(ISNATLIST(uTake1(encArg(z0)))) ENCODE_ISNATLIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATLIST(cons_uLength(z0, z1)) -> c(ISNATLIST(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_active(z0)) -> c(ISNAT(active(encArg(z0)))) ENCODE_ISNAT(cons_mark(z0)) -> c(ISNAT(mark(encArg(z0)))) ENCODE_ISNAT(cons_and(z0, z1)) -> c(ISNAT(and(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_isNatIList(z0)) -> c(ISNAT(isNatIList(encArg(z0)))) ENCODE_ISNAT(cons_isNatList(z0)) -> c(ISNAT(isNatList(encArg(z0)))) ENCODE_ISNAT(cons_isNat(z0)) -> c(ISNAT(isNat(encArg(z0)))) ENCODE_ISNAT(cons_s(z0)) -> c(ISNAT(s(encArg(z0)))) ENCODE_ISNAT(cons_length(z0)) -> c(ISNAT(length(encArg(z0)))) ENCODE_ISNAT(cons_cons(z0, z1)) -> c(ISNAT(cons(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_take(z0, z1)) -> c(ISNAT(take(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_uTake1(z0)) -> c(ISNAT(uTake1(encArg(z0)))) ENCODE_ISNAT(cons_uTake2(z0, z1, z2, z3)) -> c(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNAT(cons_uLength(z0, z1)) -> c(ISNAT(uLength(encArg(z0), encArg(z1)))) ENCODE_S(tt) -> c(S(tt)) ENCODE_S(0) -> c(S(0)) ENCODE_S(zeros) -> c(S(zeros)) ENCODE_S(nil) -> c(S(nil)) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_isNatIList(z0)) -> c(S(isNatIList(encArg(z0)))) ENCODE_S(cons_isNatList(z0)) -> c(S(isNatList(encArg(z0)))) ENCODE_S(cons_isNat(z0)) -> c(S(isNat(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_S(cons_uTake1(z0)) -> c(S(uTake1(encArg(z0)))) ENCODE_S(cons_uTake2(z0, z1, z2, z3)) -> c(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_S(cons_uLength(z0, z1)) -> c(S(uLength(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1, c65_3, c65_1 ---------------------------------------- (137) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCODE_S(0) -> c(S(0)) ENCODE_S(tt) -> c(S(tt)) ENCODE_S(nil) -> c(S(nil)) ENCODE_S(zeros) -> c(S(zeros)) ---------------------------------------- (138) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_isNatIList(z0)) -> c(ACTIVE(isNatIList(encArg(z0)))) ENCODE_ACTIVE(cons_isNatList(z0)) -> c(ACTIVE(isNatList(encArg(z0)))) ENCODE_ACTIVE(cons_isNat(z0)) -> c(ACTIVE(isNat(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_uTake1(z0)) -> c(ACTIVE(uTake1(encArg(z0)))) ENCODE_ACTIVE(cons_uTake2(z0, z1, z2, z3)) -> c(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ACTIVE(cons_uLength(z0, z1)) -> c(ACTIVE(uLength(encArg(z0), encArg(z1)))) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_isNatIList(z0)) -> c(AND(encArg(x0), isNatIList(encArg(z0)))) ENCODE_AND(x0, cons_isNatList(z0)) -> c(AND(encArg(x0), isNatList(encArg(z0)))) ENCODE_AND(x0, cons_isNat(z0)) -> c(AND(encArg(x0), isNat(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_uTake1(z0)) -> c(AND(encArg(x0), uTake1(encArg(z0)))) ENCODE_AND(x0, cons_uTake2(z0, z1, z2, z3)) -> c(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_AND(x0, cons_uLength(z0, z1)) -> c(AND(encArg(x0), uLength(encArg(z0), encArg(z1)))) ENCODE_AND(tt, x1) -> c(AND(tt, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_isNatIList(z0), x1) -> c(AND(isNatIList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNatList(z0), x1) -> c(AND(isNatList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNat(z0), x1) -> c(AND(isNat(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_uTake1(z0), x1) -> c(AND(uTake1(encArg(z0)), encArg(x1))) ENCODE_AND(cons_uTake2(z0, z1, z2, z3), x1) -> c(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1))) ENCODE_AND(cons_uLength(z0, z1), x1) -> c(AND(uLength(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_isNatIList(z0)) -> c(MARK(isNatIList(encArg(z0)))) ENCODE_MARK(cons_isNatList(z0)) -> c(MARK(isNatList(encArg(z0)))) ENCODE_MARK(cons_isNat(z0)) -> c(MARK(isNat(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_uTake1(z0)) -> c(MARK(uTake1(encArg(z0)))) ENCODE_MARK(cons_uTake2(z0, z1, z2, z3)) -> c(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_MARK(cons_uLength(z0, z1)) -> c(MARK(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_active(z0)) -> c(ISNATILIST(active(encArg(z0)))) ENCODE_ISNATILIST(cons_mark(z0)) -> c(ISNATILIST(mark(encArg(z0)))) ENCODE_ISNATILIST(cons_and(z0, z1)) -> c(ISNATILIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_isNatIList(z0)) -> c(ISNATILIST(isNatIList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNatList(z0)) -> c(ISNATILIST(isNatList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNat(z0)) -> c(ISNATILIST(isNat(encArg(z0)))) ENCODE_ISNATILIST(cons_s(z0)) -> c(ISNATILIST(s(encArg(z0)))) ENCODE_ISNATILIST(cons_length(z0)) -> c(ISNATILIST(length(encArg(z0)))) ENCODE_ISNATILIST(cons_cons(z0, z1)) -> c(ISNATILIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_take(z0, z1)) -> c(ISNATILIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_uTake1(z0)) -> c(ISNATILIST(uTake1(encArg(z0)))) ENCODE_ISNATILIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATILIST(cons_uLength(z0, z1)) -> c(ISNATILIST(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_active(z0)) -> c(ISNATLIST(active(encArg(z0)))) ENCODE_ISNATLIST(cons_mark(z0)) -> c(ISNATLIST(mark(encArg(z0)))) ENCODE_ISNATLIST(cons_and(z0, z1)) -> c(ISNATLIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_isNatIList(z0)) -> c(ISNATLIST(isNatIList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNatList(z0)) -> c(ISNATLIST(isNatList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNat(z0)) -> c(ISNATLIST(isNat(encArg(z0)))) ENCODE_ISNATLIST(cons_s(z0)) -> c(ISNATLIST(s(encArg(z0)))) ENCODE_ISNATLIST(cons_length(z0)) -> c(ISNATLIST(length(encArg(z0)))) ENCODE_ISNATLIST(cons_cons(z0, z1)) -> c(ISNATLIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_take(z0, z1)) -> c(ISNATLIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_uTake1(z0)) -> c(ISNATLIST(uTake1(encArg(z0)))) ENCODE_ISNATLIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATLIST(cons_uLength(z0, z1)) -> c(ISNATLIST(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_active(z0)) -> c(ISNAT(active(encArg(z0)))) ENCODE_ISNAT(cons_mark(z0)) -> c(ISNAT(mark(encArg(z0)))) ENCODE_ISNAT(cons_and(z0, z1)) -> c(ISNAT(and(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_isNatIList(z0)) -> c(ISNAT(isNatIList(encArg(z0)))) ENCODE_ISNAT(cons_isNatList(z0)) -> c(ISNAT(isNatList(encArg(z0)))) ENCODE_ISNAT(cons_isNat(z0)) -> c(ISNAT(isNat(encArg(z0)))) ENCODE_ISNAT(cons_s(z0)) -> c(ISNAT(s(encArg(z0)))) ENCODE_ISNAT(cons_length(z0)) -> c(ISNAT(length(encArg(z0)))) ENCODE_ISNAT(cons_cons(z0, z1)) -> c(ISNAT(cons(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_take(z0, z1)) -> c(ISNAT(take(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_uTake1(z0)) -> c(ISNAT(uTake1(encArg(z0)))) ENCODE_ISNAT(cons_uTake2(z0, z1, z2, z3)) -> c(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNAT(cons_uLength(z0, z1)) -> c(ISNAT(uLength(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_isNatIList(z0)) -> c(S(isNatIList(encArg(z0)))) ENCODE_S(cons_isNatList(z0)) -> c(S(isNatList(encArg(z0)))) ENCODE_S(cons_isNat(z0)) -> c(S(isNat(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_S(cons_uTake1(z0)) -> c(S(uTake1(encArg(z0)))) ENCODE_S(cons_uTake2(z0, z1, z2, z3)) -> c(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_S(cons_uLength(z0, z1)) -> c(S(uLength(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_LENGTH_1, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1, c65_3, c65_1 ---------------------------------------- (139) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_LENGTH(z0) -> c(LENGTH(encArg(z0))) by ENCODE_LENGTH(tt) -> c(LENGTH(tt)) ENCODE_LENGTH(0) -> c(LENGTH(0)) ENCODE_LENGTH(zeros) -> c(LENGTH(zeros)) ENCODE_LENGTH(nil) -> c(LENGTH(nil)) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_isNatIList(z0)) -> c(LENGTH(isNatIList(encArg(z0)))) ENCODE_LENGTH(cons_isNatList(z0)) -> c(LENGTH(isNatList(encArg(z0)))) ENCODE_LENGTH(cons_isNat(z0)) -> c(LENGTH(isNat(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_uTake1(z0)) -> c(LENGTH(uTake1(encArg(z0)))) ENCODE_LENGTH(cons_uTake2(z0, z1, z2, z3)) -> c(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_LENGTH(cons_uLength(z0, z1)) -> c(LENGTH(uLength(encArg(z0), encArg(z1)))) ---------------------------------------- (140) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_isNatIList(z0)) -> c(ACTIVE(isNatIList(encArg(z0)))) ENCODE_ACTIVE(cons_isNatList(z0)) -> c(ACTIVE(isNatList(encArg(z0)))) ENCODE_ACTIVE(cons_isNat(z0)) -> c(ACTIVE(isNat(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_uTake1(z0)) -> c(ACTIVE(uTake1(encArg(z0)))) ENCODE_ACTIVE(cons_uTake2(z0, z1, z2, z3)) -> c(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ACTIVE(cons_uLength(z0, z1)) -> c(ACTIVE(uLength(encArg(z0), encArg(z1)))) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_isNatIList(z0)) -> c(AND(encArg(x0), isNatIList(encArg(z0)))) ENCODE_AND(x0, cons_isNatList(z0)) -> c(AND(encArg(x0), isNatList(encArg(z0)))) ENCODE_AND(x0, cons_isNat(z0)) -> c(AND(encArg(x0), isNat(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_uTake1(z0)) -> c(AND(encArg(x0), uTake1(encArg(z0)))) ENCODE_AND(x0, cons_uTake2(z0, z1, z2, z3)) -> c(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_AND(x0, cons_uLength(z0, z1)) -> c(AND(encArg(x0), uLength(encArg(z0), encArg(z1)))) ENCODE_AND(tt, x1) -> c(AND(tt, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_isNatIList(z0), x1) -> c(AND(isNatIList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNatList(z0), x1) -> c(AND(isNatList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNat(z0), x1) -> c(AND(isNat(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_uTake1(z0), x1) -> c(AND(uTake1(encArg(z0)), encArg(x1))) ENCODE_AND(cons_uTake2(z0, z1, z2, z3), x1) -> c(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1))) ENCODE_AND(cons_uLength(z0, z1), x1) -> c(AND(uLength(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_isNatIList(z0)) -> c(MARK(isNatIList(encArg(z0)))) ENCODE_MARK(cons_isNatList(z0)) -> c(MARK(isNatList(encArg(z0)))) ENCODE_MARK(cons_isNat(z0)) -> c(MARK(isNat(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_uTake1(z0)) -> c(MARK(uTake1(encArg(z0)))) ENCODE_MARK(cons_uTake2(z0, z1, z2, z3)) -> c(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_MARK(cons_uLength(z0, z1)) -> c(MARK(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_active(z0)) -> c(ISNATILIST(active(encArg(z0)))) ENCODE_ISNATILIST(cons_mark(z0)) -> c(ISNATILIST(mark(encArg(z0)))) ENCODE_ISNATILIST(cons_and(z0, z1)) -> c(ISNATILIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_isNatIList(z0)) -> c(ISNATILIST(isNatIList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNatList(z0)) -> c(ISNATILIST(isNatList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNat(z0)) -> c(ISNATILIST(isNat(encArg(z0)))) ENCODE_ISNATILIST(cons_s(z0)) -> c(ISNATILIST(s(encArg(z0)))) ENCODE_ISNATILIST(cons_length(z0)) -> c(ISNATILIST(length(encArg(z0)))) ENCODE_ISNATILIST(cons_cons(z0, z1)) -> c(ISNATILIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_take(z0, z1)) -> c(ISNATILIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_uTake1(z0)) -> c(ISNATILIST(uTake1(encArg(z0)))) ENCODE_ISNATILIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATILIST(cons_uLength(z0, z1)) -> c(ISNATILIST(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_active(z0)) -> c(ISNATLIST(active(encArg(z0)))) ENCODE_ISNATLIST(cons_mark(z0)) -> c(ISNATLIST(mark(encArg(z0)))) ENCODE_ISNATLIST(cons_and(z0, z1)) -> c(ISNATLIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_isNatIList(z0)) -> c(ISNATLIST(isNatIList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNatList(z0)) -> c(ISNATLIST(isNatList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNat(z0)) -> c(ISNATLIST(isNat(encArg(z0)))) ENCODE_ISNATLIST(cons_s(z0)) -> c(ISNATLIST(s(encArg(z0)))) ENCODE_ISNATLIST(cons_length(z0)) -> c(ISNATLIST(length(encArg(z0)))) ENCODE_ISNATLIST(cons_cons(z0, z1)) -> c(ISNATLIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_take(z0, z1)) -> c(ISNATLIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_uTake1(z0)) -> c(ISNATLIST(uTake1(encArg(z0)))) ENCODE_ISNATLIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATLIST(cons_uLength(z0, z1)) -> c(ISNATLIST(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_active(z0)) -> c(ISNAT(active(encArg(z0)))) ENCODE_ISNAT(cons_mark(z0)) -> c(ISNAT(mark(encArg(z0)))) ENCODE_ISNAT(cons_and(z0, z1)) -> c(ISNAT(and(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_isNatIList(z0)) -> c(ISNAT(isNatIList(encArg(z0)))) ENCODE_ISNAT(cons_isNatList(z0)) -> c(ISNAT(isNatList(encArg(z0)))) ENCODE_ISNAT(cons_isNat(z0)) -> c(ISNAT(isNat(encArg(z0)))) ENCODE_ISNAT(cons_s(z0)) -> c(ISNAT(s(encArg(z0)))) ENCODE_ISNAT(cons_length(z0)) -> c(ISNAT(length(encArg(z0)))) ENCODE_ISNAT(cons_cons(z0, z1)) -> c(ISNAT(cons(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_take(z0, z1)) -> c(ISNAT(take(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_uTake1(z0)) -> c(ISNAT(uTake1(encArg(z0)))) ENCODE_ISNAT(cons_uTake2(z0, z1, z2, z3)) -> c(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNAT(cons_uLength(z0, z1)) -> c(ISNAT(uLength(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_isNatIList(z0)) -> c(S(isNatIList(encArg(z0)))) ENCODE_S(cons_isNatList(z0)) -> c(S(isNatList(encArg(z0)))) ENCODE_S(cons_isNat(z0)) -> c(S(isNat(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_S(cons_uTake1(z0)) -> c(S(uTake1(encArg(z0)))) ENCODE_S(cons_uTake2(z0, z1, z2, z3)) -> c(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_S(cons_uLength(z0, z1)) -> c(S(uLength(encArg(z0), encArg(z1)))) ENCODE_LENGTH(tt) -> c(LENGTH(tt)) ENCODE_LENGTH(0) -> c(LENGTH(0)) ENCODE_LENGTH(zeros) -> c(LENGTH(zeros)) ENCODE_LENGTH(nil) -> c(LENGTH(nil)) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_isNatIList(z0)) -> c(LENGTH(isNatIList(encArg(z0)))) ENCODE_LENGTH(cons_isNatList(z0)) -> c(LENGTH(isNatList(encArg(z0)))) ENCODE_LENGTH(cons_isNat(z0)) -> c(LENGTH(isNat(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_uTake1(z0)) -> c(LENGTH(uTake1(encArg(z0)))) ENCODE_LENGTH(cons_uTake2(z0, z1, z2, z3)) -> c(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_LENGTH(cons_uLength(z0, z1)) -> c(LENGTH(uLength(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1, c65_3, c65_1 ---------------------------------------- (141) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCODE_LENGTH(0) -> c(LENGTH(0)) ENCODE_LENGTH(tt) -> c(LENGTH(tt)) ENCODE_LENGTH(nil) -> c(LENGTH(nil)) ENCODE_LENGTH(zeros) -> c(LENGTH(zeros)) ---------------------------------------- (142) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_isNatIList(z0)) -> c(ACTIVE(isNatIList(encArg(z0)))) ENCODE_ACTIVE(cons_isNatList(z0)) -> c(ACTIVE(isNatList(encArg(z0)))) ENCODE_ACTIVE(cons_isNat(z0)) -> c(ACTIVE(isNat(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_uTake1(z0)) -> c(ACTIVE(uTake1(encArg(z0)))) ENCODE_ACTIVE(cons_uTake2(z0, z1, z2, z3)) -> c(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ACTIVE(cons_uLength(z0, z1)) -> c(ACTIVE(uLength(encArg(z0), encArg(z1)))) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_isNatIList(z0)) -> c(AND(encArg(x0), isNatIList(encArg(z0)))) ENCODE_AND(x0, cons_isNatList(z0)) -> c(AND(encArg(x0), isNatList(encArg(z0)))) ENCODE_AND(x0, cons_isNat(z0)) -> c(AND(encArg(x0), isNat(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_uTake1(z0)) -> c(AND(encArg(x0), uTake1(encArg(z0)))) ENCODE_AND(x0, cons_uTake2(z0, z1, z2, z3)) -> c(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_AND(x0, cons_uLength(z0, z1)) -> c(AND(encArg(x0), uLength(encArg(z0), encArg(z1)))) ENCODE_AND(tt, x1) -> c(AND(tt, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_isNatIList(z0), x1) -> c(AND(isNatIList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNatList(z0), x1) -> c(AND(isNatList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNat(z0), x1) -> c(AND(isNat(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_uTake1(z0), x1) -> c(AND(uTake1(encArg(z0)), encArg(x1))) ENCODE_AND(cons_uTake2(z0, z1, z2, z3), x1) -> c(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1))) ENCODE_AND(cons_uLength(z0, z1), x1) -> c(AND(uLength(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_isNatIList(z0)) -> c(MARK(isNatIList(encArg(z0)))) ENCODE_MARK(cons_isNatList(z0)) -> c(MARK(isNatList(encArg(z0)))) ENCODE_MARK(cons_isNat(z0)) -> c(MARK(isNat(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_uTake1(z0)) -> c(MARK(uTake1(encArg(z0)))) ENCODE_MARK(cons_uTake2(z0, z1, z2, z3)) -> c(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_MARK(cons_uLength(z0, z1)) -> c(MARK(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_active(z0)) -> c(ISNATILIST(active(encArg(z0)))) ENCODE_ISNATILIST(cons_mark(z0)) -> c(ISNATILIST(mark(encArg(z0)))) ENCODE_ISNATILIST(cons_and(z0, z1)) -> c(ISNATILIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_isNatIList(z0)) -> c(ISNATILIST(isNatIList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNatList(z0)) -> c(ISNATILIST(isNatList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNat(z0)) -> c(ISNATILIST(isNat(encArg(z0)))) ENCODE_ISNATILIST(cons_s(z0)) -> c(ISNATILIST(s(encArg(z0)))) ENCODE_ISNATILIST(cons_length(z0)) -> c(ISNATILIST(length(encArg(z0)))) ENCODE_ISNATILIST(cons_cons(z0, z1)) -> c(ISNATILIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_take(z0, z1)) -> c(ISNATILIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_uTake1(z0)) -> c(ISNATILIST(uTake1(encArg(z0)))) ENCODE_ISNATILIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATILIST(cons_uLength(z0, z1)) -> c(ISNATILIST(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_active(z0)) -> c(ISNATLIST(active(encArg(z0)))) ENCODE_ISNATLIST(cons_mark(z0)) -> c(ISNATLIST(mark(encArg(z0)))) ENCODE_ISNATLIST(cons_and(z0, z1)) -> c(ISNATLIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_isNatIList(z0)) -> c(ISNATLIST(isNatIList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNatList(z0)) -> c(ISNATLIST(isNatList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNat(z0)) -> c(ISNATLIST(isNat(encArg(z0)))) ENCODE_ISNATLIST(cons_s(z0)) -> c(ISNATLIST(s(encArg(z0)))) ENCODE_ISNATLIST(cons_length(z0)) -> c(ISNATLIST(length(encArg(z0)))) ENCODE_ISNATLIST(cons_cons(z0, z1)) -> c(ISNATLIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_take(z0, z1)) -> c(ISNATLIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_uTake1(z0)) -> c(ISNATLIST(uTake1(encArg(z0)))) ENCODE_ISNATLIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATLIST(cons_uLength(z0, z1)) -> c(ISNATLIST(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_active(z0)) -> c(ISNAT(active(encArg(z0)))) ENCODE_ISNAT(cons_mark(z0)) -> c(ISNAT(mark(encArg(z0)))) ENCODE_ISNAT(cons_and(z0, z1)) -> c(ISNAT(and(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_isNatIList(z0)) -> c(ISNAT(isNatIList(encArg(z0)))) ENCODE_ISNAT(cons_isNatList(z0)) -> c(ISNAT(isNatList(encArg(z0)))) ENCODE_ISNAT(cons_isNat(z0)) -> c(ISNAT(isNat(encArg(z0)))) ENCODE_ISNAT(cons_s(z0)) -> c(ISNAT(s(encArg(z0)))) ENCODE_ISNAT(cons_length(z0)) -> c(ISNAT(length(encArg(z0)))) ENCODE_ISNAT(cons_cons(z0, z1)) -> c(ISNAT(cons(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_take(z0, z1)) -> c(ISNAT(take(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_uTake1(z0)) -> c(ISNAT(uTake1(encArg(z0)))) ENCODE_ISNAT(cons_uTake2(z0, z1, z2, z3)) -> c(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNAT(cons_uLength(z0, z1)) -> c(ISNAT(uLength(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_isNatIList(z0)) -> c(S(isNatIList(encArg(z0)))) ENCODE_S(cons_isNatList(z0)) -> c(S(isNatList(encArg(z0)))) ENCODE_S(cons_isNat(z0)) -> c(S(isNat(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_S(cons_uTake1(z0)) -> c(S(uTake1(encArg(z0)))) ENCODE_S(cons_uTake2(z0, z1, z2, z3)) -> c(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_S(cons_uLength(z0, z1)) -> c(S(uLength(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_isNatIList(z0)) -> c(LENGTH(isNatIList(encArg(z0)))) ENCODE_LENGTH(cons_isNatList(z0)) -> c(LENGTH(isNatList(encArg(z0)))) ENCODE_LENGTH(cons_isNat(z0)) -> c(LENGTH(isNat(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_uTake1(z0)) -> c(LENGTH(uTake1(encArg(z0)))) ENCODE_LENGTH(cons_uTake2(z0, z1, z2, z3)) -> c(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_LENGTH(cons_uLength(z0, z1)) -> c(LENGTH(uLength(encArg(z0), encArg(z1)))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_CONS_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1, c65_3, c65_1 ---------------------------------------- (143) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) by ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_isNatIList(z0)) -> c(CONS(encArg(x0), isNatIList(encArg(z0)))) ENCODE_CONS(x0, cons_isNatList(z0)) -> c(CONS(encArg(x0), isNatList(encArg(z0)))) ENCODE_CONS(x0, cons_isNat(z0)) -> c(CONS(encArg(x0), isNat(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_uTake1(z0)) -> c(CONS(encArg(x0), uTake1(encArg(z0)))) ENCODE_CONS(x0, cons_uTake2(z0, z1, z2, z3)) -> c(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_CONS(x0, cons_uLength(z0, z1)) -> c(CONS(encArg(x0), uLength(encArg(z0), encArg(z1)))) ENCODE_CONS(tt, x1) -> c(CONS(tt, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_isNatIList(z0), x1) -> c(CONS(isNatIList(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_isNatList(z0), x1) -> c(CONS(isNatList(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_isNat(z0), x1) -> c(CONS(isNat(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_uTake1(z0), x1) -> c(CONS(uTake1(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_uTake2(z0, z1, z2, z3), x1) -> c(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1))) ENCODE_CONS(cons_uLength(z0, z1), x1) -> c(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1))) ---------------------------------------- (144) Obligation: Complexity Dependency Tuples Problem Rules: encArg(tt) -> tt encArg(0) -> 0 encArg(zeros) -> zeros encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_and(z0, z1)) -> and(encArg(z0), encArg(z1)) encArg(cons_isNatIList(z0)) -> isNatIList(encArg(z0)) encArg(cons_isNatList(z0)) -> isNatList(encArg(z0)) encArg(cons_isNat(z0)) -> isNat(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_length(z0)) -> length(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_take(z0, z1)) -> take(encArg(z0), encArg(z1)) encArg(cons_uTake1(z0)) -> uTake1(encArg(z0)) encArg(cons_uTake2(z0, z1, z2, z3)) -> uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)) encArg(cons_uLength(z0, z1)) -> uLength(encArg(z0), encArg(z1)) active(and(tt, z0)) -> mark(z0) active(isNatIList(z0)) -> mark(isNatList(z0)) active(isNat(0)) -> mark(tt) active(isNat(s(z0))) -> mark(isNat(z0)) active(isNat(length(z0))) -> mark(isNatList(z0)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(z0, z1))) -> mark(and(isNat(z0), isNatList(z1))) active(isNatList(take(z0, z1))) -> mark(and(isNat(z0), isNatIList(z1))) active(zeros) -> mark(cons(0, zeros)) active(take(0, z0)) -> mark(uTake1(isNatIList(z0))) active(uTake1(tt)) -> mark(nil) active(take(s(z0), cons(z1, z2))) -> mark(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)) active(uTake2(tt, z0, z1, z2)) -> mark(cons(z1, take(z0, z2))) active(length(cons(z0, z1))) -> mark(uLength(and(isNat(z0), isNatList(z1)), z1)) active(uLength(tt, z0)) -> mark(s(length(z0))) mark(and(z0, z1)) -> active(and(mark(z0), mark(z1))) mark(tt) -> active(tt) mark(isNatIList(z0)) -> active(isNatIList(z0)) mark(isNatList(z0)) -> active(isNatList(z0)) mark(isNat(z0)) -> active(isNat(z0)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(length(z0)) -> active(length(mark(z0))) mark(zeros) -> active(zeros) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(nil) -> active(nil) mark(take(z0, z1)) -> active(take(mark(z0), mark(z1))) mark(uTake1(z0)) -> active(uTake1(mark(z0))) mark(uTake2(z0, z1, z2, z3)) -> active(uTake2(mark(z0), z1, z2, z3)) mark(uLength(z0, z1)) -> active(uLength(mark(z0), z1)) and(mark(z0), z1) -> and(z0, z1) and(z0, mark(z1)) -> and(z0, z1) and(active(z0), z1) -> and(z0, z1) and(z0, active(z1)) -> and(z0, z1) isNatIList(mark(z0)) -> isNatIList(z0) isNatIList(active(z0)) -> isNatIList(z0) isNatList(mark(z0)) -> isNatList(z0) isNatList(active(z0)) -> isNatList(z0) isNat(mark(z0)) -> isNat(z0) isNat(active(z0)) -> isNat(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) length(mark(z0)) -> length(z0) length(active(z0)) -> length(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) take(mark(z0), z1) -> take(z0, z1) take(z0, mark(z1)) -> take(z0, z1) take(active(z0), z1) -> take(z0, z1) take(z0, active(z1)) -> take(z0, z1) uTake1(mark(z0)) -> uTake1(z0) uTake1(active(z0)) -> uTake1(z0) uTake2(mark(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, mark(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, mark(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, mark(z3)) -> uTake2(z0, z1, z2, z3) uTake2(active(z0), z1, z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, active(z1), z2, z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, active(z2), z3) -> uTake2(z0, z1, z2, z3) uTake2(z0, z1, z2, active(z3)) -> uTake2(z0, z1, z2, z3) uLength(mark(z0), z1) -> uLength(z0, z1) uLength(z0, mark(z1)) -> uLength(z0, z1) uLength(active(z0), z1) -> uLength(z0, z1) uLength(z0, active(z1)) -> uLength(z0, z1) Tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 ENCODE_TAKE(z0, z1) -> c(TAKE(encArg(z0), encArg(z1))) ENCODE_UTAKE1(z0) -> c(UTAKE1(encArg(z0))) ENCODE_UTAKE2(z0, z1, z2, z3) -> c(UTAKE2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))) ENCODE_ULENGTH(z0, z1) -> c(ULENGTH(encArg(z0), encArg(z1))) ENCARG(cons_active(cons_active(z0))) -> c4(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c4(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_and(z0, z1))) -> c4(ACTIVE(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_active(cons_isNatIList(z0))) -> c4(ACTIVE(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_active(cons_isNatList(z0))) -> c4(ACTIVE(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_active(cons_isNat(z0))) -> c4(ACTIVE(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_active(cons_s(z0))) -> c4(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_length(z0))) -> c4(ACTIVE(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c4(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_take(z0, z1))) -> c4(ACTIVE(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_active(cons_uTake1(z0))) -> c4(ACTIVE(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_active(cons_uTake2(z0, z1, z2, z3))) -> c4(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_active(cons_uLength(z0, z1))) -> c4(ACTIVE(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_active(zeros)) -> c4(ACTIVE(zeros)) ENCARG(cons_mark(cons_active(z0))) -> c5(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c5(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_and(z0, z1))) -> c5(MARK(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_mark(cons_isNatIList(z0))) -> c5(MARK(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_mark(cons_isNatList(z0))) -> c5(MARK(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_mark(cons_isNat(z0))) -> c5(MARK(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_mark(cons_s(z0))) -> c5(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_length(z0))) -> c5(MARK(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c5(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_take(z0, z1))) -> c5(MARK(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_mark(cons_uTake1(z0))) -> c5(MARK(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_mark(cons_uTake2(z0, z1, z2, z3))) -> c5(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_mark(cons_uLength(z0, z1))) -> c5(MARK(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_mark(tt)) -> c5(MARK(tt)) ENCARG(cons_mark(0)) -> c5(MARK(0)) ENCARG(cons_mark(zeros)) -> c5(MARK(zeros)) ENCARG(cons_mark(nil)) -> c5(MARK(nil)) ENCARG(cons_and(x0, cons_active(z0))) -> c6(AND(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_and(x0, cons_mark(z0))) -> c6(AND(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_and(x0, cons_and(z0, z1))) -> c6(AND(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_and(x0, cons_isNatIList(z0))) -> c6(AND(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_and(x0, cons_isNatList(z0))) -> c6(AND(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_and(x0, cons_isNat(z0))) -> c6(AND(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_and(x0, cons_s(z0))) -> c6(AND(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_and(x0, cons_length(z0))) -> c6(AND(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_and(x0, cons_cons(z0, z1))) -> c6(AND(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_and(x0, cons_take(z0, z1))) -> c6(AND(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_and(x0, cons_uTake1(z0))) -> c6(AND(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_and(x0, cons_uTake2(z0, z1, z2, z3))) -> c6(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_and(x0, cons_uLength(z0, z1))) -> c6(AND(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_and(cons_active(z0), x1)) -> c6(AND(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_and(cons_mark(z0), x1)) -> c6(AND(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_and(cons_and(z0, z1), x1)) -> c6(AND(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_isNatIList(z0), x1)) -> c6(AND(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNatList(z0), x1)) -> c6(AND(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_and(cons_isNat(z0), x1)) -> c6(AND(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_and(cons_s(z0), x1)) -> c6(AND(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_and(cons_length(z0), x1)) -> c6(AND(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_and(cons_cons(z0, z1), x1)) -> c6(AND(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_take(z0, z1), x1)) -> c6(AND(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_and(cons_uTake1(z0), x1)) -> c6(AND(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_and(cons_uTake2(z0, z1, z2, z3), x1)) -> c6(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_and(cons_uLength(z0, z1), x1)) -> c6(AND(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_and(x0, tt)) -> c6(AND(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_and(x0, 0)) -> c6(AND(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_and(x0, zeros)) -> c6(AND(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_and(x0, nil)) -> c6(AND(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_and(tt, x1)) -> c6(AND(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(0, x1)) -> c6(AND(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(zeros, x1)) -> c6(AND(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_and(nil, x1)) -> c6(AND(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_isNatIList(cons_active(z0))) -> c7(ISNATILIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatIList(cons_mark(z0))) -> c7(ISNATILIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatIList(cons_and(z0, z1))) -> c7(ISNATILIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatIList(cons_isNatIList(z0))) -> c7(ISNATILIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatIList(cons_isNatList(z0))) -> c7(ISNATILIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatIList(cons_isNat(z0))) -> c7(ISNATILIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatIList(cons_s(z0))) -> c7(ISNATILIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatIList(cons_length(z0))) -> c7(ISNATILIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatIList(cons_cons(z0, z1))) -> c7(ISNATILIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatIList(cons_take(z0, z1))) -> c7(ISNATILIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatIList(cons_uTake1(z0))) -> c7(ISNATILIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatIList(cons_uTake2(z0, z1, z2, z3))) -> c7(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatIList(cons_uLength(z0, z1))) -> c7(ISNATILIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNatList(cons_active(z0))) -> c8(ISNATLIST(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNatList(cons_mark(z0))) -> c8(ISNATLIST(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNatList(cons_and(z0, z1))) -> c8(ISNATLIST(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNatList(cons_isNatIList(z0))) -> c8(ISNATLIST(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNatList(cons_isNatList(z0))) -> c8(ISNATLIST(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNatList(cons_isNat(z0))) -> c8(ISNATLIST(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNatList(cons_s(z0))) -> c8(ISNATLIST(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNatList(cons_length(z0))) -> c8(ISNATLIST(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNatList(cons_cons(z0, z1))) -> c8(ISNATLIST(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNatList(cons_take(z0, z1))) -> c8(ISNATLIST(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNatList(cons_uTake1(z0))) -> c8(ISNATLIST(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNatList(cons_uTake2(z0, z1, z2, z3))) -> c8(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNatList(cons_uLength(z0, z1))) -> c8(ISNATLIST(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_isNat(cons_active(z0))) -> c9(ISNAT(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_isNat(cons_mark(z0))) -> c9(ISNAT(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_isNat(cons_and(z0, z1))) -> c9(ISNAT(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_isNat(cons_isNatIList(z0))) -> c9(ISNAT(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_isNat(cons_isNatList(z0))) -> c9(ISNAT(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_isNat(cons_isNat(z0))) -> c9(ISNAT(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_isNat(cons_s(z0))) -> c9(ISNAT(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_isNat(cons_length(z0))) -> c9(ISNAT(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_isNat(cons_cons(z0, z1))) -> c9(ISNAT(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_isNat(cons_take(z0, z1))) -> c9(ISNAT(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_isNat(cons_uTake1(z0))) -> c9(ISNAT(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_isNat(cons_uTake2(z0, z1, z2, z3))) -> c9(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_isNat(cons_uLength(z0, z1))) -> c9(ISNAT(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_s(cons_active(z0))) -> c10(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c10(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_and(z0, z1))) -> c10(S(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_s(cons_isNatIList(z0))) -> c10(S(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_s(cons_isNatList(z0))) -> c10(S(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_s(cons_isNat(z0))) -> c10(S(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_s(cons_s(z0))) -> c10(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_length(z0))) -> c10(S(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c10(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_take(z0, z1))) -> c10(S(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_s(cons_uTake1(z0))) -> c10(S(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_s(cons_uTake2(z0, z1, z2, z3))) -> c10(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_s(cons_uLength(z0, z1))) -> c10(S(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_length(cons_active(z0))) -> c11(LENGTH(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_length(cons_mark(z0))) -> c11(LENGTH(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_length(cons_and(z0, z1))) -> c11(LENGTH(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_length(cons_isNatIList(z0))) -> c11(LENGTH(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_length(cons_isNatList(z0))) -> c11(LENGTH(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_length(cons_isNat(z0))) -> c11(LENGTH(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_length(cons_s(z0))) -> c11(LENGTH(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_length(cons_length(z0))) -> c11(LENGTH(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_length(cons_cons(z0, z1))) -> c11(LENGTH(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_length(cons_take(z0, z1))) -> c11(LENGTH(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_length(cons_uTake1(z0))) -> c11(LENGTH(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_length(cons_uTake2(z0, z1, z2, z3))) -> c11(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_length(cons_uLength(z0, z1))) -> c11(LENGTH(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(x0, cons_active(z0))) -> c12(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c12(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_and(z0, z1))) -> c12(CONS(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_cons(x0, cons_isNatIList(z0))) -> c12(CONS(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_cons(x0, cons_isNatList(z0))) -> c12(CONS(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_cons(x0, cons_isNat(z0))) -> c12(CONS(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c12(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_length(z0))) -> c12(CONS(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c12(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_take(z0, z1))) -> c12(CONS(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_cons(x0, cons_uTake1(z0))) -> c12(CONS(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_cons(x0, cons_uTake2(z0, z1, z2, z3))) -> c12(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_cons(x0, cons_uLength(z0, z1))) -> c12(CONS(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_cons(cons_active(z0), x1)) -> c12(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c12(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_and(z0, z1), x1)) -> c12(CONS(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatIList(z0), x1)) -> c12(CONS(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNatList(z0), x1)) -> c12(CONS(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_isNat(z0), x1)) -> c12(CONS(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c12(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_length(z0), x1)) -> c12(CONS(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c12(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_take(z0, z1), x1)) -> c12(CONS(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake1(z0), x1)) -> c12(CONS(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_uTake2(z0, z1, z2, z3), x1)) -> c12(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_cons(cons_uLength(z0, z1), x1)) -> c12(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(x0, tt)) -> c12(CONS(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_cons(x0, 0)) -> c12(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, zeros)) -> c12(CONS(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c12(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(tt, x1)) -> c12(CONS(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(0, x1)) -> c12(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(zeros, x1)) -> c12(CONS(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c12(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(x0, cons_active(z0))) -> c13(TAKE(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_take(x0, cons_mark(z0))) -> c13(TAKE(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_take(x0, cons_and(z0, z1))) -> c13(TAKE(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_take(x0, cons_isNatIList(z0))) -> c13(TAKE(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_take(x0, cons_isNatList(z0))) -> c13(TAKE(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_take(x0, cons_isNat(z0))) -> c13(TAKE(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_take(x0, cons_s(z0))) -> c13(TAKE(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_take(x0, cons_length(z0))) -> c13(TAKE(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_take(x0, cons_cons(z0, z1))) -> c13(TAKE(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_take(x0, cons_take(z0, z1))) -> c13(TAKE(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_take(x0, cons_uTake1(z0))) -> c13(TAKE(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_take(x0, cons_uTake2(z0, z1, z2, z3))) -> c13(TAKE(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_take(x0, cons_uLength(z0, z1))) -> c13(TAKE(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_take(cons_active(z0), x1)) -> c13(TAKE(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_take(cons_mark(z0), x1)) -> c13(TAKE(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_take(cons_and(z0, z1), x1)) -> c13(TAKE(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_isNatIList(z0), x1)) -> c13(TAKE(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNatList(z0), x1)) -> c13(TAKE(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_take(cons_isNat(z0), x1)) -> c13(TAKE(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_take(cons_s(z0), x1)) -> c13(TAKE(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_take(cons_length(z0), x1)) -> c13(TAKE(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_take(cons_cons(z0, z1), x1)) -> c13(TAKE(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_take(z0, z1), x1)) -> c13(TAKE(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_take(cons_uTake1(z0), x1)) -> c13(TAKE(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_take(cons_uTake2(z0, z1, z2, z3), x1)) -> c13(TAKE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_take(cons_uLength(z0, z1), x1)) -> c13(TAKE(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_take(x0, tt)) -> c13(TAKE(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_take(x0, 0)) -> c13(TAKE(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_take(x0, zeros)) -> c13(TAKE(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_take(x0, nil)) -> c13(TAKE(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_take(tt, x1)) -> c13(TAKE(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(0, x1)) -> c13(TAKE(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(zeros, x1)) -> c13(TAKE(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_take(nil, x1)) -> c13(TAKE(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_uTake1(cons_active(z0))) -> c14(UTAKE1(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_uTake1(cons_mark(z0))) -> c14(UTAKE1(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_uTake1(cons_and(z0, z1))) -> c14(UTAKE1(and(encArg(z0), encArg(z1))), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake1(cons_isNatIList(z0))) -> c14(UTAKE1(isNatIList(encArg(z0))), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake1(cons_isNatList(z0))) -> c14(UTAKE1(isNatList(encArg(z0))), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake1(cons_isNat(z0))) -> c14(UTAKE1(isNat(encArg(z0))), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake1(cons_s(z0))) -> c14(UTAKE1(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_uTake1(cons_length(z0))) -> c14(UTAKE1(length(encArg(z0))), ENCARG(cons_length(z0))) ENCARG(cons_uTake1(cons_cons(z0, z1))) -> c14(UTAKE1(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake1(cons_take(z0, z1))) -> c14(UTAKE1(take(encArg(z0), encArg(z1))), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake1(cons_uTake1(z0))) -> c14(UTAKE1(uTake1(encArg(z0))), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake1(cons_uTake2(z0, z1, z2, z3))) -> c14(UTAKE1(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake1(cons_uLength(z0, z1))) -> c14(UTAKE1(uLength(encArg(z0), encArg(z1))), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_active(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_active(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_mark(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_mark(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_and(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_and(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatIList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNatList(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNatList(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNatList(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_isNat(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), isNat(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_isNat(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_s(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_s(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_length(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), length(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_length(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_cons(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_take(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_take(z0, z1))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake1(z0))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake1(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake1(z0))) ENCARG(cons_uTake2(x0, x1, x2, cons_uTake2(z0, z1, z2, z3))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uTake2(x0, x1, x2, cons_uLength(z0, z1))) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(x2), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uTake2(x0, x1, cons_active(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), active(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_mark(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), mark(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_and(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), and(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_and(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatIList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatIList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatIList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNatList(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNatList(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNatList(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_isNat(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), isNat(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_isNat(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_s(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), s(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_length(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), length(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_length(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_cons(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), cons(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_cons(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_take(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), take(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_take(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake1(z0), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake1(encArg(z0)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake1(z0)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uTake2(z0, z1, z2, z3), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, cons_uLength(z0, z1), x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), uLength(encArg(z0), encArg(z1)), encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(cons_uLength(z0, z1)), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_active(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), active(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_mark(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), mark(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_and(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), and(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_and(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatIList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatIList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatIList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNatList(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNatList(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNatList(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_isNat(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), isNat(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_isNat(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_s(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), s(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_length(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), length(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_length(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_cons(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), cons(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_cons(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_take(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), take(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_take(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake1(z0), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake1(encArg(z0)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake1(z0)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uTake2(z0, z1, z2, z3), x2, x3)) -> c15(UTAKE2(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, cons_uLength(z0, z1), x2, x3)) -> c15(UTAKE2(encArg(x0), uLength(encArg(z0), encArg(z1)), encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(cons_uLength(z0, z1)), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_active(z0), x1, x2, x3)) -> c15(UTAKE2(active(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_mark(z0), x1, x2, x3)) -> c15(UTAKE2(mark(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_and(z0, z1), x1, x2, x3)) -> c15(UTAKE2(and(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_and(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatIList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatIList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatIList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNatList(z0), x1, x2, x3)) -> c15(UTAKE2(isNatList(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNatList(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_isNat(z0), x1, x2, x3)) -> c15(UTAKE2(isNat(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_isNat(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_s(z0), x1, x2, x3)) -> c15(UTAKE2(s(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_length(z0), x1, x2, x3)) -> c15(UTAKE2(length(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_length(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_cons(z0, z1), x1, x2, x3)) -> c15(UTAKE2(cons(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_cons(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_take(z0, z1), x1, x2, x3)) -> c15(UTAKE2(take(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_take(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake1(z0), x1, x2, x3)) -> c15(UTAKE2(uTake1(encArg(z0)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake1(z0)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c15(UTAKE2(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(cons_uLength(z0, z1), x1, x2, x3)) -> c15(UTAKE2(uLength(encArg(z0), encArg(z1)), encArg(x1), encArg(x2), encArg(x3)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, x2, tt)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), tt), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, 0)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), 0), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, zeros)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), zeros), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, x2, nil)) -> c15(UTAKE2(encArg(x0), encArg(x1), encArg(x2), nil), ENCARG(x0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_uTake2(x0, x1, tt, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), tt, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, 0, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), 0, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, zeros, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), zeros, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, x1, nil, x3)) -> c15(UTAKE2(encArg(x0), encArg(x1), nil, encArg(x3)), ENCARG(x0), ENCARG(x1), ENCARG(x3)) ENCARG(cons_uTake2(x0, tt, x2, x3)) -> c15(UTAKE2(encArg(x0), tt, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, 0, x2, x3)) -> c15(UTAKE2(encArg(x0), 0, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, zeros, x2, x3)) -> c15(UTAKE2(encArg(x0), zeros, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(x0, nil, x2, x3)) -> c15(UTAKE2(encArg(x0), nil, encArg(x2), encArg(x3)), ENCARG(x0), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(tt, x1, x2, x3)) -> c15(UTAKE2(tt, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(0, x1, x2, x3)) -> c15(UTAKE2(0, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(zeros, x1, x2, x3)) -> c15(UTAKE2(zeros, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uTake2(nil, x1, x2, x3)) -> c15(UTAKE2(nil, encArg(x1), encArg(x2), encArg(x3)), ENCARG(x1), ENCARG(x2), ENCARG(x3)) ENCARG(cons_uLength(x0, cons_active(z0))) -> c16(ULENGTH(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_uLength(x0, cons_mark(z0))) -> c16(ULENGTH(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_uLength(x0, cons_and(z0, z1))) -> c16(ULENGTH(encArg(x0), and(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_and(z0, z1))) ENCARG(cons_uLength(x0, cons_isNatIList(z0))) -> c16(ULENGTH(encArg(x0), isNatIList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatIList(z0))) ENCARG(cons_uLength(x0, cons_isNatList(z0))) -> c16(ULENGTH(encArg(x0), isNatList(encArg(z0))), ENCARG(x0), ENCARG(cons_isNatList(z0))) ENCARG(cons_uLength(x0, cons_isNat(z0))) -> c16(ULENGTH(encArg(x0), isNat(encArg(z0))), ENCARG(x0), ENCARG(cons_isNat(z0))) ENCARG(cons_uLength(x0, cons_s(z0))) -> c16(ULENGTH(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_uLength(x0, cons_length(z0))) -> c16(ULENGTH(encArg(x0), length(encArg(z0))), ENCARG(x0), ENCARG(cons_length(z0))) ENCARG(cons_uLength(x0, cons_cons(z0, z1))) -> c16(ULENGTH(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_uLength(x0, cons_take(z0, z1))) -> c16(ULENGTH(encArg(x0), take(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_take(z0, z1))) ENCARG(cons_uLength(x0, cons_uTake1(z0))) -> c16(ULENGTH(encArg(x0), uTake1(encArg(z0))), ENCARG(x0), ENCARG(cons_uTake1(z0))) ENCARG(cons_uLength(x0, cons_uTake2(z0, z1, z2, z3))) -> c16(ULENGTH(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3))), ENCARG(x0), ENCARG(cons_uTake2(z0, z1, z2, z3))) ENCARG(cons_uLength(x0, cons_uLength(z0, z1))) -> c16(ULENGTH(encArg(x0), uLength(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_uLength(z0, z1))) ENCARG(cons_uLength(cons_active(z0), x1)) -> c16(ULENGTH(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_mark(z0), x1)) -> c16(ULENGTH(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_and(z0, z1), x1)) -> c16(ULENGTH(and(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_and(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatIList(z0), x1)) -> c16(ULENGTH(isNatIList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatIList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNatList(z0), x1)) -> c16(ULENGTH(isNatList(encArg(z0)), encArg(x1)), ENCARG(cons_isNatList(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_isNat(z0), x1)) -> c16(ULENGTH(isNat(encArg(z0)), encArg(x1)), ENCARG(cons_isNat(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_s(z0), x1)) -> c16(ULENGTH(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_length(z0), x1)) -> c16(ULENGTH(length(encArg(z0)), encArg(x1)), ENCARG(cons_length(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_cons(z0, z1), x1)) -> c16(ULENGTH(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_take(z0, z1), x1)) -> c16(ULENGTH(take(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_take(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake1(z0), x1)) -> c16(ULENGTH(uTake1(encArg(z0)), encArg(x1)), ENCARG(cons_uTake1(z0)), ENCARG(x1)) ENCARG(cons_uLength(cons_uTake2(z0, z1, z2, z3), x1)) -> c16(ULENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1)), ENCARG(cons_uTake2(z0, z1, z2, z3)), ENCARG(x1)) ENCARG(cons_uLength(cons_uLength(z0, z1), x1)) -> c16(ULENGTH(uLength(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_uLength(z0, z1)), ENCARG(x1)) ENCARG(cons_uLength(x0, tt)) -> c16(ULENGTH(encArg(x0), tt), ENCARG(x0)) ENCARG(cons_uLength(x0, 0)) -> c16(ULENGTH(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_uLength(x0, zeros)) -> c16(ULENGTH(encArg(x0), zeros), ENCARG(x0)) ENCARG(cons_uLength(x0, nil)) -> c16(ULENGTH(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_uLength(tt, x1)) -> c16(ULENGTH(tt, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(0, x1)) -> c16(ULENGTH(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(zeros, x1)) -> c16(ULENGTH(zeros, encArg(x1)), ENCARG(x1)) ENCARG(cons_uLength(nil, x1)) -> c16(ULENGTH(nil, encArg(x1)), ENCARG(x1)) MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_and(z0, z1)) -> c(ACTIVE(and(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_isNatIList(z0)) -> c(ACTIVE(isNatIList(encArg(z0)))) ENCODE_ACTIVE(cons_isNatList(z0)) -> c(ACTIVE(isNatList(encArg(z0)))) ENCODE_ACTIVE(cons_isNat(z0)) -> c(ACTIVE(isNat(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_length(z0)) -> c(ACTIVE(length(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_take(z0, z1)) -> c(ACTIVE(take(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_uTake1(z0)) -> c(ACTIVE(uTake1(encArg(z0)))) ENCODE_ACTIVE(cons_uTake2(z0, z1, z2, z3)) -> c(ACTIVE(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ACTIVE(cons_uLength(z0, z1)) -> c(ACTIVE(uLength(encArg(z0), encArg(z1)))) ENCODE_AND(x0, tt) -> c(AND(encArg(x0), tt)) ENCODE_AND(x0, 0) -> c(AND(encArg(x0), 0)) ENCODE_AND(x0, zeros) -> c(AND(encArg(x0), zeros)) ENCODE_AND(x0, nil) -> c(AND(encArg(x0), nil)) ENCODE_AND(x0, cons_active(z0)) -> c(AND(encArg(x0), active(encArg(z0)))) ENCODE_AND(x0, cons_mark(z0)) -> c(AND(encArg(x0), mark(encArg(z0)))) ENCODE_AND(x0, cons_and(z0, z1)) -> c(AND(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_isNatIList(z0)) -> c(AND(encArg(x0), isNatIList(encArg(z0)))) ENCODE_AND(x0, cons_isNatList(z0)) -> c(AND(encArg(x0), isNatList(encArg(z0)))) ENCODE_AND(x0, cons_isNat(z0)) -> c(AND(encArg(x0), isNat(encArg(z0)))) ENCODE_AND(x0, cons_s(z0)) -> c(AND(encArg(x0), s(encArg(z0)))) ENCODE_AND(x0, cons_length(z0)) -> c(AND(encArg(x0), length(encArg(z0)))) ENCODE_AND(x0, cons_cons(z0, z1)) -> c(AND(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_take(z0, z1)) -> c(AND(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_AND(x0, cons_uTake1(z0)) -> c(AND(encArg(x0), uTake1(encArg(z0)))) ENCODE_AND(x0, cons_uTake2(z0, z1, z2, z3)) -> c(AND(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_AND(x0, cons_uLength(z0, z1)) -> c(AND(encArg(x0), uLength(encArg(z0), encArg(z1)))) ENCODE_AND(tt, x1) -> c(AND(tt, encArg(x1))) ENCODE_AND(0, x1) -> c(AND(0, encArg(x1))) ENCODE_AND(zeros, x1) -> c(AND(zeros, encArg(x1))) ENCODE_AND(nil, x1) -> c(AND(nil, encArg(x1))) ENCODE_AND(cons_active(z0), x1) -> c(AND(active(encArg(z0)), encArg(x1))) ENCODE_AND(cons_mark(z0), x1) -> c(AND(mark(encArg(z0)), encArg(x1))) ENCODE_AND(cons_and(z0, z1), x1) -> c(AND(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_isNatIList(z0), x1) -> c(AND(isNatIList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNatList(z0), x1) -> c(AND(isNatList(encArg(z0)), encArg(x1))) ENCODE_AND(cons_isNat(z0), x1) -> c(AND(isNat(encArg(z0)), encArg(x1))) ENCODE_AND(cons_s(z0), x1) -> c(AND(s(encArg(z0)), encArg(x1))) ENCODE_AND(cons_length(z0), x1) -> c(AND(length(encArg(z0)), encArg(x1))) ENCODE_AND(cons_cons(z0, z1), x1) -> c(AND(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_take(z0, z1), x1) -> c(AND(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_AND(cons_uTake1(z0), x1) -> c(AND(uTake1(encArg(z0)), encArg(x1))) ENCODE_AND(cons_uTake2(z0, z1, z2, z3), x1) -> c(AND(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1))) ENCODE_AND(cons_uLength(z0, z1), x1) -> c(AND(uLength(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_and(z0, z1)) -> c(MARK(and(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_isNatIList(z0)) -> c(MARK(isNatIList(encArg(z0)))) ENCODE_MARK(cons_isNatList(z0)) -> c(MARK(isNatList(encArg(z0)))) ENCODE_MARK(cons_isNat(z0)) -> c(MARK(isNat(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_length(z0)) -> c(MARK(length(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_take(z0, z1)) -> c(MARK(take(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_uTake1(z0)) -> c(MARK(uTake1(encArg(z0)))) ENCODE_MARK(cons_uTake2(z0, z1, z2, z3)) -> c(MARK(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_MARK(cons_uLength(z0, z1)) -> c(MARK(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_active(z0)) -> c(ISNATILIST(active(encArg(z0)))) ENCODE_ISNATILIST(cons_mark(z0)) -> c(ISNATILIST(mark(encArg(z0)))) ENCODE_ISNATILIST(cons_and(z0, z1)) -> c(ISNATILIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_isNatIList(z0)) -> c(ISNATILIST(isNatIList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNatList(z0)) -> c(ISNATILIST(isNatList(encArg(z0)))) ENCODE_ISNATILIST(cons_isNat(z0)) -> c(ISNATILIST(isNat(encArg(z0)))) ENCODE_ISNATILIST(cons_s(z0)) -> c(ISNATILIST(s(encArg(z0)))) ENCODE_ISNATILIST(cons_length(z0)) -> c(ISNATILIST(length(encArg(z0)))) ENCODE_ISNATILIST(cons_cons(z0, z1)) -> c(ISNATILIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_take(z0, z1)) -> c(ISNATILIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATILIST(cons_uTake1(z0)) -> c(ISNATILIST(uTake1(encArg(z0)))) ENCODE_ISNATILIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATILIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATILIST(cons_uLength(z0, z1)) -> c(ISNATILIST(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_active(z0)) -> c(ISNATLIST(active(encArg(z0)))) ENCODE_ISNATLIST(cons_mark(z0)) -> c(ISNATLIST(mark(encArg(z0)))) ENCODE_ISNATLIST(cons_and(z0, z1)) -> c(ISNATLIST(and(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_isNatIList(z0)) -> c(ISNATLIST(isNatIList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNatList(z0)) -> c(ISNATLIST(isNatList(encArg(z0)))) ENCODE_ISNATLIST(cons_isNat(z0)) -> c(ISNATLIST(isNat(encArg(z0)))) ENCODE_ISNATLIST(cons_s(z0)) -> c(ISNATLIST(s(encArg(z0)))) ENCODE_ISNATLIST(cons_length(z0)) -> c(ISNATLIST(length(encArg(z0)))) ENCODE_ISNATLIST(cons_cons(z0, z1)) -> c(ISNATLIST(cons(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_take(z0, z1)) -> c(ISNATLIST(take(encArg(z0), encArg(z1)))) ENCODE_ISNATLIST(cons_uTake1(z0)) -> c(ISNATLIST(uTake1(encArg(z0)))) ENCODE_ISNATLIST(cons_uTake2(z0, z1, z2, z3)) -> c(ISNATLIST(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNATLIST(cons_uLength(z0, z1)) -> c(ISNATLIST(uLength(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_active(z0)) -> c(ISNAT(active(encArg(z0)))) ENCODE_ISNAT(cons_mark(z0)) -> c(ISNAT(mark(encArg(z0)))) ENCODE_ISNAT(cons_and(z0, z1)) -> c(ISNAT(and(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_isNatIList(z0)) -> c(ISNAT(isNatIList(encArg(z0)))) ENCODE_ISNAT(cons_isNatList(z0)) -> c(ISNAT(isNatList(encArg(z0)))) ENCODE_ISNAT(cons_isNat(z0)) -> c(ISNAT(isNat(encArg(z0)))) ENCODE_ISNAT(cons_s(z0)) -> c(ISNAT(s(encArg(z0)))) ENCODE_ISNAT(cons_length(z0)) -> c(ISNAT(length(encArg(z0)))) ENCODE_ISNAT(cons_cons(z0, z1)) -> c(ISNAT(cons(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_take(z0, z1)) -> c(ISNAT(take(encArg(z0), encArg(z1)))) ENCODE_ISNAT(cons_uTake1(z0)) -> c(ISNAT(uTake1(encArg(z0)))) ENCODE_ISNAT(cons_uTake2(z0, z1, z2, z3)) -> c(ISNAT(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_ISNAT(cons_uLength(z0, z1)) -> c(ISNAT(uLength(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_and(z0, z1)) -> c(S(and(encArg(z0), encArg(z1)))) ENCODE_S(cons_isNatIList(z0)) -> c(S(isNatIList(encArg(z0)))) ENCODE_S(cons_isNatList(z0)) -> c(S(isNatList(encArg(z0)))) ENCODE_S(cons_isNat(z0)) -> c(S(isNat(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_length(z0)) -> c(S(length(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_take(z0, z1)) -> c(S(take(encArg(z0), encArg(z1)))) ENCODE_S(cons_uTake1(z0)) -> c(S(uTake1(encArg(z0)))) ENCODE_S(cons_uTake2(z0, z1, z2, z3)) -> c(S(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_S(cons_uLength(z0, z1)) -> c(S(uLength(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_active(z0)) -> c(LENGTH(active(encArg(z0)))) ENCODE_LENGTH(cons_mark(z0)) -> c(LENGTH(mark(encArg(z0)))) ENCODE_LENGTH(cons_and(z0, z1)) -> c(LENGTH(and(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_isNatIList(z0)) -> c(LENGTH(isNatIList(encArg(z0)))) ENCODE_LENGTH(cons_isNatList(z0)) -> c(LENGTH(isNatList(encArg(z0)))) ENCODE_LENGTH(cons_isNat(z0)) -> c(LENGTH(isNat(encArg(z0)))) ENCODE_LENGTH(cons_s(z0)) -> c(LENGTH(s(encArg(z0)))) ENCODE_LENGTH(cons_length(z0)) -> c(LENGTH(length(encArg(z0)))) ENCODE_LENGTH(cons_cons(z0, z1)) -> c(LENGTH(cons(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_take(z0, z1)) -> c(LENGTH(take(encArg(z0), encArg(z1)))) ENCODE_LENGTH(cons_uTake1(z0)) -> c(LENGTH(uTake1(encArg(z0)))) ENCODE_LENGTH(cons_uTake2(z0, z1, z2, z3)) -> c(LENGTH(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_LENGTH(cons_uLength(z0, z1)) -> c(LENGTH(uLength(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, tt) -> c(CONS(encArg(x0), tt)) ENCODE_CONS(x0, 0) -> c(CONS(encArg(x0), 0)) ENCODE_CONS(x0, zeros) -> c(CONS(encArg(x0), zeros)) ENCODE_CONS(x0, nil) -> c(CONS(encArg(x0), nil)) ENCODE_CONS(x0, cons_active(z0)) -> c(CONS(encArg(x0), active(encArg(z0)))) ENCODE_CONS(x0, cons_mark(z0)) -> c(CONS(encArg(x0), mark(encArg(z0)))) ENCODE_CONS(x0, cons_and(z0, z1)) -> c(CONS(encArg(x0), and(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_isNatIList(z0)) -> c(CONS(encArg(x0), isNatIList(encArg(z0)))) ENCODE_CONS(x0, cons_isNatList(z0)) -> c(CONS(encArg(x0), isNatList(encArg(z0)))) ENCODE_CONS(x0, cons_isNat(z0)) -> c(CONS(encArg(x0), isNat(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_length(z0)) -> c(CONS(encArg(x0), length(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_take(z0, z1)) -> c(CONS(encArg(x0), take(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_uTake1(z0)) -> c(CONS(encArg(x0), uTake1(encArg(z0)))) ENCODE_CONS(x0, cons_uTake2(z0, z1, z2, z3)) -> c(CONS(encArg(x0), uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)))) ENCODE_CONS(x0, cons_uLength(z0, z1)) -> c(CONS(encArg(x0), uLength(encArg(z0), encArg(z1)))) ENCODE_CONS(tt, x1) -> c(CONS(tt, encArg(x1))) ENCODE_CONS(0, x1) -> c(CONS(0, encArg(x1))) ENCODE_CONS(zeros, x1) -> c(CONS(zeros, encArg(x1))) ENCODE_CONS(nil, x1) -> c(CONS(nil, encArg(x1))) ENCODE_CONS(cons_active(z0), x1) -> c(CONS(active(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_mark(z0), x1) -> c(CONS(mark(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_and(z0, z1), x1) -> c(CONS(and(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_isNatIList(z0), x1) -> c(CONS(isNatIList(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_isNatList(z0), x1) -> c(CONS(isNatList(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_isNat(z0), x1) -> c(CONS(isNat(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_length(z0), x1) -> c(CONS(length(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_take(z0, z1), x1) -> c(CONS(take(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_uTake1(z0), x1) -> c(CONS(uTake1(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_uTake2(z0, z1, z2, z3), x1) -> c(CONS(uTake2(encArg(z0), encArg(z1), encArg(z2), encArg(z3)), encArg(x1))) ENCODE_CONS(cons_uLength(z0, z1), x1) -> c(CONS(uLength(encArg(z0), encArg(z1)), encArg(x1))) S tuples: ACTIVE(and(tt, z0)) -> c34(MARK(z0)) ACTIVE(isNatIList(z0)) -> c35(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNat(0)) -> c36(MARK(tt)) ACTIVE(isNat(s(z0))) -> c37(MARK(isNat(z0)), ISNAT(z0)) ACTIVE(isNat(length(z0))) -> c38(MARK(isNatList(z0)), ISNATLIST(z0)) ACTIVE(isNatIList(zeros)) -> c39(MARK(tt)) ACTIVE(isNatList(nil)) -> c41(MARK(tt)) ACTIVE(uTake1(tt)) -> c46(MARK(nil)) ACTIVE(uTake2(tt, z0, z1, z2)) -> c48(MARK(cons(z1, take(z0, z2))), CONS(z1, take(z0, z2)), TAKE(z0, z2)) MARK(isNatIList(z0)) -> c53(ACTIVE(isNatIList(z0)), ISNATILIST(z0)) MARK(isNatList(z0)) -> c54(ACTIVE(isNatList(z0)), ISNATLIST(z0)) MARK(isNat(z0)) -> c55(ACTIVE(isNat(z0)), ISNAT(z0)) MARK(zeros) -> c59(ACTIVE(zeros)) AND(mark(z0), z1) -> c66(AND(z0, z1)) AND(z0, mark(z1)) -> c67(AND(z0, z1)) AND(active(z0), z1) -> c68(AND(z0, z1)) AND(z0, active(z1)) -> c69(AND(z0, z1)) ISNATILIST(mark(z0)) -> c70(ISNATILIST(z0)) ISNATILIST(active(z0)) -> c71(ISNATILIST(z0)) ISNATLIST(mark(z0)) -> c72(ISNATLIST(z0)) ISNATLIST(active(z0)) -> c73(ISNATLIST(z0)) ISNAT(mark(z0)) -> c74(ISNAT(z0)) ISNAT(active(z0)) -> c75(ISNAT(z0)) S(mark(z0)) -> c76(S(z0)) S(active(z0)) -> c77(S(z0)) LENGTH(mark(z0)) -> c78(LENGTH(z0)) LENGTH(active(z0)) -> c79(LENGTH(z0)) CONS(mark(z0), z1) -> c80(CONS(z0, z1)) CONS(z0, mark(z1)) -> c81(CONS(z0, z1)) CONS(active(z0), z1) -> c82(CONS(z0, z1)) CONS(z0, active(z1)) -> c83(CONS(z0, z1)) TAKE(mark(z0), z1) -> c84(TAKE(z0, z1)) TAKE(z0, mark(z1)) -> c85(TAKE(z0, z1)) TAKE(active(z0), z1) -> c86(TAKE(z0, z1)) TAKE(z0, active(z1)) -> c87(TAKE(z0, z1)) UTAKE1(mark(z0)) -> c88(UTAKE1(z0)) UTAKE1(active(z0)) -> c89(UTAKE1(z0)) UTAKE2(mark(z0), z1, z2, z3) -> c90(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, mark(z1), z2, z3) -> c91(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, mark(z2), z3) -> c92(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, mark(z3)) -> c93(UTAKE2(z0, z1, z2, z3)) UTAKE2(active(z0), z1, z2, z3) -> c94(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, active(z1), z2, z3) -> c95(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, active(z2), z3) -> c96(UTAKE2(z0, z1, z2, z3)) UTAKE2(z0, z1, z2, active(z3)) -> c97(UTAKE2(z0, z1, z2, z3)) ULENGTH(mark(z0), z1) -> c98(ULENGTH(z0, z1)) ULENGTH(z0, mark(z1)) -> c99(ULENGTH(z0, z1)) ULENGTH(active(z0), z1) -> c100(ULENGTH(z0, z1)) ULENGTH(z0, active(z1)) -> c101(ULENGTH(z0, z1)) ACTIVE(isNatIList(cons(z0, z1))) -> c40(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(isNatList(cons(z0, z1))) -> c42(MARK(and(isNat(z0), isNatList(z1))), ISNAT(z0), ISNATLIST(z1)) ACTIVE(isNatList(take(z0, z1))) -> c43(MARK(and(isNat(z0), isNatIList(z1))), ISNAT(z0), ISNATILIST(z1)) ACTIVE(zeros) -> c44(MARK(cons(0, zeros))) ACTIVE(take(0, z0)) -> c45(MARK(uTake1(isNatIList(z0))), ISNATILIST(z0)) ACTIVE(take(s(z0), cons(z1, z2))) -> c47(MARK(uTake2(and(isNat(z0), and(isNat(z1), isNatIList(z2))), z0, z1, z2)), ISNAT(z0), ISNAT(z1), ISNATILIST(z2)) ACTIVE(length(cons(z0, z1))) -> c49(MARK(uLength(and(isNat(z0), isNatList(z1)), z1)), ISNAT(z0), ISNATLIST(z1)) ACTIVE(uLength(tt, z0)) -> c50(MARK(s(length(z0))), LENGTH(z0)) MARK(tt) -> c52 MARK(0) -> c56 MARK(nil) -> c61 MARK(and(z0, x1)) -> c51(ACTIVE(and(z0, mark(x1))), AND(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(and(x0, z1)) -> c51(ACTIVE(and(mark(x0), z1)), AND(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(and(x0, and(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(and(mark(z0), mark(z1))))), AND(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(and(x0, tt)) -> c51(ACTIVE(and(mark(x0), active(tt))), AND(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(and(x0, isNatIList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatIList(z0)))), AND(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(and(x0, isNatList(z0))) -> c51(ACTIVE(and(mark(x0), active(isNatList(z0)))), AND(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(and(x0, isNat(z0))) -> c51(ACTIVE(and(mark(x0), active(isNat(z0)))), AND(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(and(x0, 0)) -> c51(ACTIVE(and(mark(x0), active(0))), AND(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(and(x0, s(z0))) -> c51(ACTIVE(and(mark(x0), active(s(mark(z0))))), AND(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(and(x0, length(z0))) -> c51(ACTIVE(and(mark(x0), active(length(mark(z0))))), AND(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(and(x0, zeros)) -> c51(ACTIVE(and(mark(x0), active(zeros))), AND(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(and(x0, cons(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(cons(mark(z0), z1)))), AND(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(and(x0, nil)) -> c51(ACTIVE(and(mark(x0), active(nil))), AND(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(and(x0, take(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(take(mark(z0), mark(z1))))), AND(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(and(x0, uTake1(z0))) -> c51(ACTIVE(and(mark(x0), active(uTake1(mark(z0))))), AND(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(and(x0, uTake2(z0, z1, z2, z3))) -> c51(ACTIVE(and(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), AND(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(and(x0, uLength(z0, z1))) -> c51(ACTIVE(and(mark(x0), active(uLength(mark(z0), z1)))), AND(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(and(and(z0, z1), x1)) -> c51(ACTIVE(and(active(and(mark(z0), mark(z1))), mark(x1))), AND(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(and(tt, x1)) -> c51(ACTIVE(and(active(tt), mark(x1))), AND(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(and(isNatIList(z0), x1)) -> c51(ACTIVE(and(active(isNatIList(z0)), mark(x1))), AND(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(and(isNatList(z0), x1)) -> c51(ACTIVE(and(active(isNatList(z0)), mark(x1))), AND(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(and(isNat(z0), x1)) -> c51(ACTIVE(and(active(isNat(z0)), mark(x1))), AND(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(and(0, x1)) -> c51(ACTIVE(and(active(0), mark(x1))), AND(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(and(s(z0), x1)) -> c51(ACTIVE(and(active(s(mark(z0))), mark(x1))), AND(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(and(length(z0), x1)) -> c51(ACTIVE(and(active(length(mark(z0))), mark(x1))), AND(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(and(zeros, x1)) -> c51(ACTIVE(and(active(zeros), mark(x1))), AND(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(and(cons(z0, z1), x1)) -> c51(ACTIVE(and(active(cons(mark(z0), z1)), mark(x1))), AND(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(and(nil, x1)) -> c51(ACTIVE(and(active(nil), mark(x1))), AND(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(and(take(z0, z1), x1)) -> c51(ACTIVE(and(active(take(mark(z0), mark(z1))), mark(x1))), AND(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(and(uTake1(z0), x1)) -> c51(ACTIVE(and(active(uTake1(mark(z0))), mark(x1))), AND(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(and(uTake2(z0, z1, z2, z3), x1)) -> c51(ACTIVE(and(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), AND(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(and(uLength(z0, z1), x1)) -> c51(ACTIVE(and(active(uLength(mark(z0), z1)), mark(x1))), AND(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(s(and(z0, z1))) -> c57(ACTIVE(s(active(and(mark(z0), mark(z1))))), S(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(s(tt)) -> c57(ACTIVE(s(active(tt))), S(mark(tt)), MARK(tt)) MARK(s(isNatIList(z0))) -> c57(ACTIVE(s(active(isNatIList(z0)))), S(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(s(isNatList(z0))) -> c57(ACTIVE(s(active(isNatList(z0)))), S(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(s(isNat(z0))) -> c57(ACTIVE(s(active(isNat(z0)))), S(mark(isNat(z0))), MARK(isNat(z0))) MARK(s(0)) -> c57(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c57(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(length(z0))) -> c57(ACTIVE(s(active(length(mark(z0))))), S(mark(length(z0))), MARK(length(z0))) MARK(s(zeros)) -> c57(ACTIVE(s(active(zeros))), S(mark(zeros)), MARK(zeros)) MARK(s(cons(z0, z1))) -> c57(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(nil)) -> c57(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(take(z0, z1))) -> c57(ACTIVE(s(active(take(mark(z0), mark(z1))))), S(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(s(uTake1(z0))) -> c57(ACTIVE(s(active(uTake1(mark(z0))))), S(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(s(uTake2(z0, z1, z2, z3))) -> c57(ACTIVE(s(active(uTake2(mark(z0), z1, z2, z3)))), S(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(s(uLength(z0, z1))) -> c57(ACTIVE(s(active(uLength(mark(z0), z1)))), S(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(s(z0)) -> c57(S(mark(z0)), MARK(z0)) MARK(length(z0)) -> c58(ACTIVE(length(z0)), LENGTH(mark(z0)), MARK(z0)) MARK(length(and(z0, z1))) -> c58(ACTIVE(length(active(and(mark(z0), mark(z1))))), LENGTH(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(length(tt)) -> c58(ACTIVE(length(active(tt))), LENGTH(mark(tt)), MARK(tt)) MARK(length(isNatIList(z0))) -> c58(ACTIVE(length(active(isNatIList(z0)))), LENGTH(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(length(isNatList(z0))) -> c58(ACTIVE(length(active(isNatList(z0)))), LENGTH(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(length(isNat(z0))) -> c58(ACTIVE(length(active(isNat(z0)))), LENGTH(mark(isNat(z0))), MARK(isNat(z0))) MARK(length(0)) -> c58(ACTIVE(length(active(0))), LENGTH(mark(0)), MARK(0)) MARK(length(s(z0))) -> c58(ACTIVE(length(active(s(mark(z0))))), LENGTH(mark(s(z0))), MARK(s(z0))) MARK(length(length(z0))) -> c58(ACTIVE(length(active(length(mark(z0))))), LENGTH(mark(length(z0))), MARK(length(z0))) MARK(length(zeros)) -> c58(ACTIVE(length(active(zeros))), LENGTH(mark(zeros)), MARK(zeros)) MARK(length(cons(z0, z1))) -> c58(ACTIVE(length(active(cons(mark(z0), z1)))), LENGTH(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(length(nil)) -> c58(ACTIVE(length(active(nil))), LENGTH(mark(nil)), MARK(nil)) MARK(length(take(z0, z1))) -> c58(ACTIVE(length(active(take(mark(z0), mark(z1))))), LENGTH(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(length(uTake1(z0))) -> c58(ACTIVE(length(active(uTake1(mark(z0))))), LENGTH(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(length(uTake2(z0, z1, z2, z3))) -> c58(ACTIVE(length(active(uTake2(mark(z0), z1, z2, z3)))), LENGTH(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(length(uLength(z0, z1))) -> c58(ACTIVE(length(active(uLength(mark(z0), z1)))), LENGTH(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(cons(and(z0, z1), x1)) -> c60(ACTIVE(cons(active(and(mark(z0), mark(z1))), x1)), CONS(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(cons(tt, x1)) -> c60(ACTIVE(cons(active(tt), x1)), CONS(mark(tt), x1), MARK(tt)) MARK(cons(isNatIList(z0), x1)) -> c60(ACTIVE(cons(active(isNatIList(z0)), x1)), CONS(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(cons(isNatList(z0), x1)) -> c60(ACTIVE(cons(active(isNatList(z0)), x1)), CONS(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(cons(isNat(z0), x1)) -> c60(ACTIVE(cons(active(isNat(z0)), x1)), CONS(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(cons(0, x1)) -> c60(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(s(z0), x1)) -> c60(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(length(z0), x1)) -> c60(ACTIVE(cons(active(length(mark(z0))), x1)), CONS(mark(length(z0)), x1), MARK(length(z0))) MARK(cons(zeros, x1)) -> c60(ACTIVE(cons(active(zeros), x1)), CONS(mark(zeros), x1), MARK(zeros)) MARK(cons(cons(z0, z1), x1)) -> c60(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(nil, x1)) -> c60(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(take(z0, z1), x1)) -> c60(ACTIVE(cons(active(take(mark(z0), mark(z1))), x1)), CONS(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(cons(uTake1(z0), x1)) -> c60(ACTIVE(cons(active(uTake1(mark(z0))), x1)), CONS(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(cons(uTake2(z0, z1, z2, z3), x1)) -> c60(ACTIVE(cons(active(uTake2(mark(z0), z1, z2, z3)), x1)), CONS(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(cons(uLength(z0, z1), x1)) -> c60(ACTIVE(cons(active(uLength(mark(z0), z1)), x1)), CONS(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(cons(x0, x1)) -> c60(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c60(CONS(mark(z0), z1), MARK(z0)) MARK(take(z0, x1)) -> c62(ACTIVE(take(z0, mark(x1))), TAKE(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(take(x0, z1)) -> c62(ACTIVE(take(mark(x0), z1)), TAKE(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(take(x0, and(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(and(mark(z0), mark(z1))))), TAKE(mark(x0), mark(and(z0, z1))), MARK(x0), MARK(and(z0, z1))) MARK(take(x0, tt)) -> c62(ACTIVE(take(mark(x0), active(tt))), TAKE(mark(x0), mark(tt)), MARK(x0), MARK(tt)) MARK(take(x0, isNatIList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatIList(z0)))), TAKE(mark(x0), mark(isNatIList(z0))), MARK(x0), MARK(isNatIList(z0))) MARK(take(x0, isNatList(z0))) -> c62(ACTIVE(take(mark(x0), active(isNatList(z0)))), TAKE(mark(x0), mark(isNatList(z0))), MARK(x0), MARK(isNatList(z0))) MARK(take(x0, isNat(z0))) -> c62(ACTIVE(take(mark(x0), active(isNat(z0)))), TAKE(mark(x0), mark(isNat(z0))), MARK(x0), MARK(isNat(z0))) MARK(take(x0, 0)) -> c62(ACTIVE(take(mark(x0), active(0))), TAKE(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(take(x0, s(z0))) -> c62(ACTIVE(take(mark(x0), active(s(mark(z0))))), TAKE(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(take(x0, length(z0))) -> c62(ACTIVE(take(mark(x0), active(length(mark(z0))))), TAKE(mark(x0), mark(length(z0))), MARK(x0), MARK(length(z0))) MARK(take(x0, zeros)) -> c62(ACTIVE(take(mark(x0), active(zeros))), TAKE(mark(x0), mark(zeros)), MARK(x0), MARK(zeros)) MARK(take(x0, cons(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(cons(mark(z0), z1)))), TAKE(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(take(x0, nil)) -> c62(ACTIVE(take(mark(x0), active(nil))), TAKE(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(take(x0, take(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(take(mark(z0), mark(z1))))), TAKE(mark(x0), mark(take(z0, z1))), MARK(x0), MARK(take(z0, z1))) MARK(take(x0, uTake1(z0))) -> c62(ACTIVE(take(mark(x0), active(uTake1(mark(z0))))), TAKE(mark(x0), mark(uTake1(z0))), MARK(x0), MARK(uTake1(z0))) MARK(take(x0, uTake2(z0, z1, z2, z3))) -> c62(ACTIVE(take(mark(x0), active(uTake2(mark(z0), z1, z2, z3)))), TAKE(mark(x0), mark(uTake2(z0, z1, z2, z3))), MARK(x0), MARK(uTake2(z0, z1, z2, z3))) MARK(take(x0, uLength(z0, z1))) -> c62(ACTIVE(take(mark(x0), active(uLength(mark(z0), z1)))), TAKE(mark(x0), mark(uLength(z0, z1))), MARK(x0), MARK(uLength(z0, z1))) MARK(take(and(z0, z1), x1)) -> c62(ACTIVE(take(active(and(mark(z0), mark(z1))), mark(x1))), TAKE(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1)), MARK(x1)) MARK(take(tt, x1)) -> c62(ACTIVE(take(active(tt), mark(x1))), TAKE(mark(tt), mark(x1)), MARK(tt), MARK(x1)) MARK(take(isNatIList(z0), x1)) -> c62(ACTIVE(take(active(isNatIList(z0)), mark(x1))), TAKE(mark(isNatIList(z0)), mark(x1)), MARK(isNatIList(z0)), MARK(x1)) MARK(take(isNatList(z0), x1)) -> c62(ACTIVE(take(active(isNatList(z0)), mark(x1))), TAKE(mark(isNatList(z0)), mark(x1)), MARK(isNatList(z0)), MARK(x1)) MARK(take(isNat(z0), x1)) -> c62(ACTIVE(take(active(isNat(z0)), mark(x1))), TAKE(mark(isNat(z0)), mark(x1)), MARK(isNat(z0)), MARK(x1)) MARK(take(0, x1)) -> c62(ACTIVE(take(active(0), mark(x1))), TAKE(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(take(s(z0), x1)) -> c62(ACTIVE(take(active(s(mark(z0))), mark(x1))), TAKE(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(take(length(z0), x1)) -> c62(ACTIVE(take(active(length(mark(z0))), mark(x1))), TAKE(mark(length(z0)), mark(x1)), MARK(length(z0)), MARK(x1)) MARK(take(zeros, x1)) -> c62(ACTIVE(take(active(zeros), mark(x1))), TAKE(mark(zeros), mark(x1)), MARK(zeros), MARK(x1)) MARK(take(cons(z0, z1), x1)) -> c62(ACTIVE(take(active(cons(mark(z0), z1)), mark(x1))), TAKE(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(take(nil, x1)) -> c62(ACTIVE(take(active(nil), mark(x1))), TAKE(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(take(take(z0, z1), x1)) -> c62(ACTIVE(take(active(take(mark(z0), mark(z1))), mark(x1))), TAKE(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1)), MARK(x1)) MARK(take(uTake1(z0), x1)) -> c62(ACTIVE(take(active(uTake1(mark(z0))), mark(x1))), TAKE(mark(uTake1(z0)), mark(x1)), MARK(uTake1(z0)), MARK(x1)) MARK(take(uTake2(z0, z1, z2, z3), x1)) -> c62(ACTIVE(take(active(uTake2(mark(z0), z1, z2, z3)), mark(x1))), TAKE(mark(uTake2(z0, z1, z2, z3)), mark(x1)), MARK(uTake2(z0, z1, z2, z3)), MARK(x1)) MARK(take(uLength(z0, z1), x1)) -> c62(ACTIVE(take(active(uLength(mark(z0), z1)), mark(x1))), TAKE(mark(uLength(z0, z1)), mark(x1)), MARK(uLength(z0, z1)), MARK(x1)) MARK(uTake1(z0)) -> c63(ACTIVE(uTake1(z0)), UTAKE1(mark(z0)), MARK(z0)) MARK(uTake1(and(z0, z1))) -> c63(ACTIVE(uTake1(active(and(mark(z0), mark(z1))))), UTAKE1(mark(and(z0, z1))), MARK(and(z0, z1))) MARK(uTake1(tt)) -> c63(ACTIVE(uTake1(active(tt))), UTAKE1(mark(tt)), MARK(tt)) MARK(uTake1(isNatIList(z0))) -> c63(ACTIVE(uTake1(active(isNatIList(z0)))), UTAKE1(mark(isNatIList(z0))), MARK(isNatIList(z0))) MARK(uTake1(isNatList(z0))) -> c63(ACTIVE(uTake1(active(isNatList(z0)))), UTAKE1(mark(isNatList(z0))), MARK(isNatList(z0))) MARK(uTake1(isNat(z0))) -> c63(ACTIVE(uTake1(active(isNat(z0)))), UTAKE1(mark(isNat(z0))), MARK(isNat(z0))) MARK(uTake1(0)) -> c63(ACTIVE(uTake1(active(0))), UTAKE1(mark(0)), MARK(0)) MARK(uTake1(s(z0))) -> c63(ACTIVE(uTake1(active(s(mark(z0))))), UTAKE1(mark(s(z0))), MARK(s(z0))) MARK(uTake1(length(z0))) -> c63(ACTIVE(uTake1(active(length(mark(z0))))), UTAKE1(mark(length(z0))), MARK(length(z0))) MARK(uTake1(zeros)) -> c63(ACTIVE(uTake1(active(zeros))), UTAKE1(mark(zeros)), MARK(zeros)) MARK(uTake1(cons(z0, z1))) -> c63(ACTIVE(uTake1(active(cons(mark(z0), z1)))), UTAKE1(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(uTake1(nil)) -> c63(ACTIVE(uTake1(active(nil))), UTAKE1(mark(nil)), MARK(nil)) MARK(uTake1(take(z0, z1))) -> c63(ACTIVE(uTake1(active(take(mark(z0), mark(z1))))), UTAKE1(mark(take(z0, z1))), MARK(take(z0, z1))) MARK(uTake1(uTake1(z0))) -> c63(ACTIVE(uTake1(active(uTake1(mark(z0))))), UTAKE1(mark(uTake1(z0))), MARK(uTake1(z0))) MARK(uTake1(uTake2(z0, z1, z2, z3))) -> c63(ACTIVE(uTake1(active(uTake2(mark(z0), z1, z2, z3)))), UTAKE1(mark(uTake2(z0, z1, z2, z3))), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake1(uLength(z0, z1))) -> c63(ACTIVE(uTake1(active(uLength(mark(z0), z1)))), UTAKE1(mark(uLength(z0, z1))), MARK(uLength(z0, z1))) MARK(uTake2(z0, z1, z2, z3)) -> c64(ACTIVE(uTake2(z0, z1, z2, z3)), UTAKE2(mark(z0), z1, z2, z3), MARK(z0)) MARK(uTake2(and(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(and(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(and(z0, z1)), x1, x2, x3), MARK(and(z0, z1))) MARK(uTake2(tt, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(tt), x1, x2, x3)), UTAKE2(mark(tt), x1, x2, x3), MARK(tt)) MARK(uTake2(isNatIList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatIList(z0)), x1, x2, x3)), UTAKE2(mark(isNatIList(z0)), x1, x2, x3), MARK(isNatIList(z0))) MARK(uTake2(isNatList(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNatList(z0)), x1, x2, x3)), UTAKE2(mark(isNatList(z0)), x1, x2, x3), MARK(isNatList(z0))) MARK(uTake2(isNat(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(isNat(z0)), x1, x2, x3)), UTAKE2(mark(isNat(z0)), x1, x2, x3), MARK(isNat(z0))) MARK(uTake2(0, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(0), x1, x2, x3)), UTAKE2(mark(0), x1, x2, x3), MARK(0)) MARK(uTake2(s(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(s(mark(z0))), x1, x2, x3)), UTAKE2(mark(s(z0)), x1, x2, x3), MARK(s(z0))) MARK(uTake2(length(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(length(mark(z0))), x1, x2, x3)), UTAKE2(mark(length(z0)), x1, x2, x3), MARK(length(z0))) MARK(uTake2(zeros, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(zeros), x1, x2, x3)), UTAKE2(mark(zeros), x1, x2, x3), MARK(zeros)) MARK(uTake2(cons(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(cons(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(cons(z0, z1)), x1, x2, x3), MARK(cons(z0, z1))) MARK(uTake2(nil, x1, x2, x3)) -> c64(ACTIVE(uTake2(active(nil), x1, x2, x3)), UTAKE2(mark(nil), x1, x2, x3), MARK(nil)) MARK(uTake2(take(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(take(mark(z0), mark(z1))), x1, x2, x3)), UTAKE2(mark(take(z0, z1)), x1, x2, x3), MARK(take(z0, z1))) MARK(uTake2(uTake1(z0), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake1(mark(z0))), x1, x2, x3)), UTAKE2(mark(uTake1(z0)), x1, x2, x3), MARK(uTake1(z0))) MARK(uTake2(uTake2(z0, z1, z2, z3), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uTake2(mark(z0), z1, z2, z3)), x1, x2, x3)), UTAKE2(mark(uTake2(z0, z1, z2, z3)), x1, x2, x3), MARK(uTake2(z0, z1, z2, z3))) MARK(uTake2(uLength(z0, z1), x1, x2, x3)) -> c64(ACTIVE(uTake2(active(uLength(mark(z0), z1)), x1, x2, x3)), UTAKE2(mark(uLength(z0, z1)), x1, x2, x3), MARK(uLength(z0, z1))) MARK(uTake2(x0, x1, x2, x3)) -> c64(UTAKE2(mark(x0), x1, x2, x3)) MARK(uLength(z0, z1)) -> c65(ACTIVE(uLength(z0, z1)), ULENGTH(mark(z0), z1), MARK(z0)) MARK(uLength(and(z0, z1), x1)) -> c65(ACTIVE(uLength(active(and(mark(z0), mark(z1))), x1)), ULENGTH(mark(and(z0, z1)), x1), MARK(and(z0, z1))) MARK(uLength(tt, x1)) -> c65(ACTIVE(uLength(active(tt), x1)), ULENGTH(mark(tt), x1), MARK(tt)) MARK(uLength(isNatIList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatIList(z0)), x1)), ULENGTH(mark(isNatIList(z0)), x1), MARK(isNatIList(z0))) MARK(uLength(isNatList(z0), x1)) -> c65(ACTIVE(uLength(active(isNatList(z0)), x1)), ULENGTH(mark(isNatList(z0)), x1), MARK(isNatList(z0))) MARK(uLength(isNat(z0), x1)) -> c65(ACTIVE(uLength(active(isNat(z0)), x1)), ULENGTH(mark(isNat(z0)), x1), MARK(isNat(z0))) MARK(uLength(0, x1)) -> c65(ACTIVE(uLength(active(0), x1)), ULENGTH(mark(0), x1), MARK(0)) MARK(uLength(s(z0), x1)) -> c65(ACTIVE(uLength(active(s(mark(z0))), x1)), ULENGTH(mark(s(z0)), x1), MARK(s(z0))) MARK(uLength(length(z0), x1)) -> c65(ACTIVE(uLength(active(length(mark(z0))), x1)), ULENGTH(mark(length(z0)), x1), MARK(length(z0))) MARK(uLength(zeros, x1)) -> c65(ACTIVE(uLength(active(zeros), x1)), ULENGTH(mark(zeros), x1), MARK(zeros)) MARK(uLength(cons(z0, z1), x1)) -> c65(ACTIVE(uLength(active(cons(mark(z0), z1)), x1)), ULENGTH(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(uLength(nil, x1)) -> c65(ACTIVE(uLength(active(nil), x1)), ULENGTH(mark(nil), x1), MARK(nil)) MARK(uLength(take(z0, z1), x1)) -> c65(ACTIVE(uLength(active(take(mark(z0), mark(z1))), x1)), ULENGTH(mark(take(z0, z1)), x1), MARK(take(z0, z1))) MARK(uLength(uTake1(z0), x1)) -> c65(ACTIVE(uLength(active(uTake1(mark(z0))), x1)), ULENGTH(mark(uTake1(z0)), x1), MARK(uTake1(z0))) MARK(uLength(uTake2(z0, z1, z2, z3), x1)) -> c65(ACTIVE(uLength(active(uTake2(mark(z0), z1, z2, z3)), x1)), ULENGTH(mark(uTake2(z0, z1, z2, z3)), x1), MARK(uTake2(z0, z1, z2, z3))) MARK(uLength(uLength(z0, z1), x1)) -> c65(ACTIVE(uLength(active(uLength(mark(z0), z1)), x1)), ULENGTH(mark(uLength(z0, z1)), x1), MARK(uLength(z0, z1))) MARK(uLength(x0, x1)) -> c65(ULENGTH(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, and_2, isNatIList_1, isNatList_1, isNat_1, s_1, length_1, cons_2, take_2, uTake1_1, uTake2_4, uLength_2 Defined Pair Symbols: ACTIVE_1, MARK_1, AND_2, ISNATILIST_1, ISNATLIST_1, ISNAT_1, S_1, LENGTH_1, CONS_2, TAKE_2, UTAKE1_1, UTAKE2_4, ULENGTH_2, ENCODE_TAKE_2, ENCODE_UTAKE1_1, ENCODE_UTAKE2_4, ENCODE_ULENGTH_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_AND_2, ENCODE_MARK_1, ENCODE_ISNATILIST_1, ENCODE_ISNATLIST_1, ENCODE_ISNAT_1, ENCODE_S_1, ENCODE_LENGTH_1, ENCODE_CONS_2 Compound Symbols: c34_1, c35_2, c36_1, c37_2, c38_2, c39_1, c41_1, c46_1, c48_3, c53_2, c54_2, c55_2, c59_1, c66_1, c67_1, c68_1, c69_1, c70_1, c71_1, c72_1, c73_1, c74_1, c75_1, c76_1, c77_1, c78_1, c79_1, c80_1, c81_1, c82_1, c83_1, c84_1, c85_1, c86_1, c87_1, c88_1, c89_1, c90_1, c91_1, c92_1, c93_1, c94_1, c95_1, c96_1, c97_1, c98_1, c99_1, c100_1, c101_1, c40_3, c42_3, c43_3, c44_1, c45_2, c47_4, c49_3, c50_2, c52, c56, c61, c_1, c4_2, c4_1, c5_2, c5_1, c6_3, c6_2, c7_2, c8_2, c9_2, c10_2, c11_2, c12_3, c12_2, c13_3, c13_2, c14_2, c15_5, c15_4, c16_3, c16_2, c51_4, c57_3, c57_2, c58_3, c60_3, c60_1, c60_2, c62_4, c63_3, c64_3, c64_1, c65_3, c65_1